Учусь программированию на Си. Пишу в среде dev-cpp.
Задание следующее:
Для значений i=1, 2,..,n вычислить число сочетаний из n по
i и занести результаты в массив С={С1,С2,..,Сn}, используя
Ci= n!/(i!(n - i)!). Число n>0 ввести с клавиатуры. Полученный массив вывести на экран.
Написал следующее:
PHP код:
#include <stdlib.h>
#include <stdio.h>
int main()
{
// Определяем переменные и массив.
int i, n, s;
float A[n], f1, f2, f3;
// Ввод n с клавиатуры.
printf(" Укажите размерность массива А[n], введя n с клавиатуры (n > 0): ");
scanf("%d",&n);
// Вычисляем факториал (n)! (const).
f1=1;
for(i=0, s=0; i <= n; i++, s++)
{
if (i==0)
{
i=1;
}
f1*=i;
i=s; // Возвращаем i значение s для дальнейшего цикла.
}
// Вычисляем факториалы f2=(i)! и f3=(n - i)! Спомощью факториалов f1, f2, f3 находим значения элементов массива A[i].
f2=1;
for (i=0, s=0; i < n; i++, s++)
{
if (i==0)
{
i=1;
}
f2*=i; // Вычисляем факториал f2.
i=s; // Возвращаем i значение s во внешнем цикле.
// Вычисляем факториал f3.
f3=1;
for ( ; i <= n; i++)
{
if (i==n)
{
i= n - 1;
f3=f3*(n - i);
i= n;
}
else
{
f3=f3*(n - i);
}
}
i=s; // Возвращаем i значение s во внешнем цикле.
A[i]=f1/(f2*f3); // Формула нахождения значения элементов массива A[i].
printf(" %.1f\n",A[i]);
}
system("pause");
}
Программа работает, даже правильные ответы выдает, но когда ввожу n=10, то почему-то она начинает вылетать, хотя все 10 элементов считает и выводит. Не могу никак понять в чем ошибка.