Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.93
Temirlan90
133 / 133 / 8
Регистрация: 30.09.2010
Сообщений: 333
#1

Описать рекурсивную функцию целого типа, находящую число сочетаний из n элементов по m, используя формулу - C++

25.10.2010, 12:59. Просмотров 3859. Ответов 8
Метки нет (Все метки)

1.Описать рекурсивную функцию C(m,n) целого типа, находящую число сочетаний из n элементов по m, используя формулу: C(0,n) = C(n,n) = 1, C(m,n) = C(m,n–1) + C(m–1,n–1) при 0 < m < n (m и n — целые параметры; n > 0, 0 <= m <= n). Дано число N и пять различных значений M. Вывести числа C(M,N) вместе с количеством рекурсивных вызовов функции C, потребовавшихся для их нахождения.

2. Описать рекурсивную функцию MinRec(A,N)1|MaxRec(A,N)2 вещественного типа, которая находит минимальный1|максимальный2 элемент вещественного массива A размера N, не используя оператор цикла. С помощью функции MinRec1|MaxRec2 найти минимальные1|максимальные2 элементы массивов A, B, C размера NA, NB, NC соответственно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 12:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать рекурсивную функцию целого типа, находящую число сочетаний из n элементов по m, используя формулу (C++):

Cоставить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K - C++
помогите составить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N...

Описать рекурсивную функцию FibRec(N) целого типа, вычисляющую N-е число Фибоначчи - C++
Описать рекурсивную функцию FibRec(N) целого типа, вычисляющую N-е число Фибоначчи F(N) по формуле: F(1) = F(2) = 1, F(k) = F(k–2) +...

Описать функцию NOD2(A,B) целого типа,находящую наибольший общий делитель(НОД) двух целых положительных чисел А и В,используя алгоритм Евклида:.... - C++
Описать функцию NOD2(A,B) целого типа,находящую наибольший общий делитель(НОД) двух целых положительных чисел А и В,используя алгоритм...

Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B - C++
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B — целые). Если A &gt; B, то функция...

Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: - C++
Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y0 = 1, YN+1 =...

Описать функцию TextSize (Name) целого типа, возвращающую число строк в текстовом файле - C++
Описать функцию TextSize(Name) целого типа, возвращающую число строк в текстовом файле с именем Name. Если файл не существует, то функция...

8
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.10.2010, 17:40 #2
1.
C
1
2
3
4
5
6
7
int C(int m, int n)
{
    if (m == 0 || n == m)
        return 1;
    
    return C(m, n - 1) + C(m - 1, n - 1);
}
1
Temirlan90
133 / 133 / 8
Регистрация: 30.09.2010
Сообщений: 333
25.10.2010, 18:03  [ТС] #3
silent_1991, а мне надо два числа вводить?
0
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,848
25.10.2010, 18:07 #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
double * MAX(double * arr, size_t size) { return size == 1 ? arr : *arr > *(arr + size - 1) ? MAX(arr, --size) : MAX(++arr, --size); }
double * MIN(double * arr, size_t size) { return size == 1 ? arr : *arr < *(arr + size - 1) ? MIN(arr, --size) : MIN(++arr, --size); }
void PRN(double * arr, size_t size) { while ( size-- ) printf("%.1f ", *arr++); }
 
#define SIZE 10
 
int main(void){
    double arr[SIZE] = { 1.1, 2.3, 4.2, 5.8, 6.3, 3.1, 6.6, 1.7, 8.2, 3.9 }, * pMax, * pMin;
    pMax = MAX(arr, SIZE);
    pMin = MIN(arr, SIZE);
    printf("Array:\n");
    PRN(arr, SIZE);
    printf("\nMax value: %.1f\nMin value: %.1f\n", *pMax, *pMin);
    return 0;
}
1
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.10.2010, 18:08 #5
Ну, я написал только функцию. Вам надо написать мэйн, в ней вызывать эту функцию с необходимыми параметрами.
0
Temirlan90
133 / 133 / 8
Регистрация: 30.09.2010
Сообщений: 333
25.10.2010, 18:19  [ТС] #6
silent_1991, объясни в чем суть задания.
0
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.10.2010, 18:31 #7
Temirlan90, что именно вам непонятно? По-моему, всё чётко описано в самом задании.
0
Temirlan90
133 / 133 / 8
Регистрация: 30.09.2010
Сообщений: 333
25.10.2010, 18:38  [ТС] #8
silent_1991, мне задание не ясно, к примеру мы вводим n=5 и м=2 почему выдаёт 10 и тоже самое с n=5 и m=3.
0
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.10.2010, 21:15 #9
Почитайте, что такое сочетания и как они получаются. 10 - верный ответ для обоих случаев. Почему так? Проще всего ответить формулой:
C(m, n) = n! / (m! * (n - m)!)
Т.е.
C(2, 5) = 5! / (2! * (5 - 2)!) = 5! / (2! * 3!) = 10
C(3, 5) = 5! / (3! * (5 - 3)!) = 5! / (3! * 2!) = 10
0
25.10.2010, 21:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 21:15
Привет! Вот еще темы с ответами:

Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K - C++
Помогите выполнить задание. Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в...

Описать функцию HexToDec(S) целого типа, определяющую целое неотрицательное число по его строковому представлению S в 16-ричной системе счисления - C++
Очень прошуууу помочь .Param47. Описать функцию HexToDec(S) целого типа, определяющую целое неотрицательное число по его строковому...

Описать функцию DigitCountSum(K), находящую количество C цифр целого положительного числа K, а также их сумму - C++
Описать функцию DigitCountSum(K), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S —...

Описать Функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах - C++
Описать Функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах, если дана его величина R в радианах ( R- вещественное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru