Функции: заполнить массив биномиальными коэффициентами и вывести его на экран - C (СИ)
Формулировка задачи:
Сформировать массив M, элементы которого mi = Cn i , где:
Cn i = n! / i! (n - i)! , n = 20; i = 1,2,…, 5
Должно быть минимум две функции, первая - заполнение массива, вторая - вывод массива на экран.
Решение задачи: «Функции: заполнить массив биномиальными коэффициентами и вывести его на экран»
textual
Листинг программы
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
const int n = 20;
const int size = 6;
long trianglePascal (long n, long i)
{
if (i == 0 || n == i)
return 1;
return trianglePascal(n - 1, i - 1) + trianglePascal(n - 1, i);
}
void array(int mas[size], int size, unsigned long int n)
{
for (int i = 1; i<size; i++)
mas[i] = trianglePascal(n, i);
}
void printarray(int mas[size], int size)
{
for (int i = 1; i<size; i++)
printf("%d ", mas[i]);
}
int main()
{
setlocale(LC_CTYPE, "");//подключение языков
printf("Формирование массива М с элементами массив M\nMi = n!/ i!(n - i)!, n = 20; i = 1, 2,..., 5\n\n");
int mas[size];
array(mas, size, n);
printf("Массив элементов при n=20: \n");
printarray(mas, size);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем константы для работы программы
- Определяем функцию для вычисления биномиальных коэффициентов
- Определяем функцию для заполнения массива биномиальными коэффициентами
- Определяем функцию для вывода массива на экран
- Устанавливаем локаль русскую
- Выводим сообщение с описанием задачи
- Создаем массив для хранения биномиальных коэффициентов
- Заполняем массив биномиальными коэффициентами
- Выводим массив на экран
- Завершаем программу