There is a task "To write a program for calculating the number of combinations of m elements by

n (n<=m) Cnm=m!/n!(mn)! ,

Where m and n are entered from the keyboard using the recurrent formula

Cm0=1, Cnm=m-n+1/n * Cmn-1 "

What happened:

 #include <iostream> // Добавление библиотеки ввода-вывода #include <math.h> // Добавление библиотеки математических функций #include <stdio.h> // Добавление библиотеки стандартного ввода-вывода #include <conio.h> // Добавление библиотеки для создания текстового интерфейса пользователя #include <windows.h> // Добавление библиотеки стандартных функци #include <string> // Добавление библиотеки для работы со строками using namespace std; // Использование пространства имен std double soch(int n, int m) { // Рекурсивная функция для рассчета числа сочетаний if (n==0 || m==n) { // Если n = 0 или т == n return 1; // Возвращяем единицу } else { // В остальных случаях рачитываем по формуле return soch(n-1,m-1)+soch(n,m-1); // Рекуррентная формула для числа сочетаний возращает полученое значение после рекурсии } } int main() // Главная функция { SetConsoleCP(1251); // Установка кодировки консоли на ввод SetConsoleOutputCP(1251); // Установка кодировки консоли на вывод int m; // Объявление переменной для хранения количества числа m int n; // Объявление переменной для хранения количества числа n do { // Цикл проверки правильности ввода чисел m и n cout << "Введите число m которое =>n" << endl; // Вывод уведомления о вводе числа m cin >> m; // Ввод числа m cout << "Введите число n которое <=m" << endl; // Вывод уведомления о вводе числа n cin >> n; // Ввод числа if (m<n){ // Проверка правильности ввода чисел для вывода уведомления cout << "Неверно введены числа: m < n. Введите числа так, чтобы было m => n" << endl; // Уведомление о введении неверных чисел } } while (m<n); // Проверяем условие что m=>n, если введены неверные числа повтораяем ввод cout << "Число сочетаний = " << soch(n,m); // Выводим число сочетаний путем передачи в функцию введеных чисел m и n _getch(); // Ожидаем нажатия кнопки return 0; // Конец программы } 
  • But as I was told the formula was not realized ... I don’t understand what is wrong ... - Alexander Ivanov
  • in general, everything seems to be correct, you use the recurrence formula for the number of combinations to calculate, instead of the recurrence formula for the number of combinations, you can also implement the function of calculating factorial and read it using the usual formula, but this is the same goldstar_labs
  • And who told you about the formula? - goldstar_labs
  • The teacher said that the formula is not implemented - Alexander Ivanov
  • That this formula is not implemented Cnm = mn + 1 / n * Cmn-1 - Alexander Ivanov

0