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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
#1

вызов функцииж факториал - C++

24.04.2013, 05:24. Просмотров 1368. Ответов 43
Метки нет (Все метки)

не могу найти ошибку в программе. задание: Составить программу решения задачи с использованием функций нахождения факториала и числа сочетаний из n по m. заранее спасибо за помощь.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
#include<math.h>
 
double H (double (*f)(double), double m, n)
{
return f(n)/(f(m)*f(n-m));
}
 
double f(double n)
{
return {
p=0.0;
for(i=0;i<=n;i++) p=p*i; }
}
int main()
{ double m,n C;
cout<<"VVedite m, n\n";
cin>>m>>n;
cout<<H(f,n,m,n-m);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 05:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вызов функцииж факториал (C++):

Описать рекурсивные функции вещественного типа, вычисляющие факториал и двойной факториал заданного числа - C++
Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!!...

Факториал - C++
Простите за избитую тему, но не могу ни как организовать факториал в winForms . При клике на Button программа должна выводить факториал в...

Факториал - C++
Дано целое число N (&gt; 0). Найти двойной факториал N: N!! = N•(N–2)•(N–4)•… (последний сомножитель равен 2, если N — четное, и 1, если...

Факториал - C++
Дано натуральное число n; найти n!. Использовать программу, включающую рекурсивную процедуру вычисления n!

Факториал - C++
Пожалуйсто, помогите написать прогу на Си, которая вичисляла бы 100! (факториал) выводя всё на экран!

факториал - C++
сумма факториалов

43
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 15:06 #31

Не по теме:

На самом же деле формула числа сочетаний и факториала для рассчёта на кажой итерации и не нужна, ведь у нас сумма элементов ряда надо всего лишь найти отношение для двух смежных членов, рассчитать первый член ряда и накомпить сумму. Когда появится время накидаю



Добавлено через 4 минуты
Эффективная формула вычисления числа сочетаний


Добавлено через 2 минуты
http://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{i} = {{C}^{i}}_{n}*{x}^{i} = \frac{n!}{i!*(n - i)!}*{x}^{i}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{i + 1} = {{C}^{i + 1}}_{n}*{x}^{(i + 1)} = \frac{n!}{(i + 1)!*(n - (i + 1))!}*{x}^{(i + 1)}
Итератор
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{y}_{i + 1}}{{y}_{i}} =  \frac{\frac{n!}{(i + 1)!*(n - (i + 1))!}*{x}^{(i + 1)}}{\frac{n!}{i!*(n - i)!}*{x}^{i}} = x*\frac{i!}{(i + 1)!}*\frac{(n - i - 1)!*(n - i)}{(n - i - 1)!} = x*\frac{(n - i)}{i + 1}
1
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
24.04.2013, 15:10 #32
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
Задание звучит так: Составить программу решения задачи с использованием функций нахождения факториала и числа сочетаний из n по m по формуле C(n,m)=n!/(m!*(n-m)!). Нахождение факториала осуществить с помощью вызова подпрограммы. Обчислити вираження для заданих n, x:
Что такое "i" и откуда его взять? Если я тебя правильно понял то я почти решил задачу
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 15:11 #33
Итак вот теперь как выглядит задача
http://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{0} = {{C}^{i}}_{n}*{x}^{i} = \frac{n!}{i!*(n - i)!}*{x}^{i} = \frac{n!}{0!*(n - 0)!}*{x}^{0} = 1 далее просто в цикле ведём итерационное домножение
1
palva
2681 / 1908 / 286
Регистрация: 08.06.2007
Сообщений: 7,021
Записей в блоге: 4
24.04.2013, 15:13 #34
Не знаю. У меня ваша программа (с моими последними исправлениями) работает правильно.
Вводил 2 5 и 0.1
Программа выдала 10 и 1.61051
Компилятор Borland C++ 5.5.1
0
-=ЮрА=-
24.04.2013, 15:14
  #35

Не по теме:

okman, в формуле брать в посте 22

0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 15:19  [ТС] #36
спасибо огромное! только у меня компилятор
C++
1
while(true)
не воспринимает почему-то и ошибку выдает. и я, как новичек, не могу понять где здесь вызов функций. нам просто задали написать чтобы факториал вызывался отдельной функцией.
0
palva
2681 / 1908 / 286
Регистрация: 08.06.2007
Сообщений: 7,021
Записей в блоге: 4
24.04.2013, 15:19 #37
Вот скриншот.
1
Миниатюры
вызов функцииж факториал  
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 15:21 #38
Так вот vasilisa-9090, смотри сколько было кода в посте 30 и сколько кода в этом с учётом рекурентных формул
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int   i,n = 0;
    double x = 0;
    double y = 0;
    while(true)
    {
        cout<<"n = ";cin>>n;
        cout<<"x = ";cin>>x;
        y = x;
        for(i = 0; i < n; i++)
            y = y*(n - i)*x/(i + 1);
        cout<<"y = "<<y<<endl;
    }
    return 0;
}
А результат тотже, вот почему кроме колосального сокращения числа вычислительных операций, итерационное домножение ещё существенно упрощает сам код. Так что как говориться - зачем больше платить?
2
Миниатюры
вызов функцииж факториал  
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 15:23 #39
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
пасибо огромное! только у меня компилятор
Код C++
1
while(true)
не воспринимает почему-то и ошибку выдает. и я, как новичек, не могу понять где здесь вызов функций. нам просто задали написать чтобы факториал вызывался отдельной функцией.
достаточно записать while(1) думаю установлен довольной старый BorlandC который не воспринимает C++ а компилирует под Си
1
palva
2681 / 1908 / 286
Регистрация: 08.06.2007
Сообщений: 7,021
Записей в блоге: 4
24.04.2013, 15:24 #40
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
не воспринимает почему-то и ошибку выдает
В вашем компиляторе нет типа bool и соответствующих констант true и false.
Так что замените true на 1 и должно заработать.
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 16:13  [ТС] #41
спасибо огромное все!!! у меня все работает!!!!!!!!!
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
24.04.2013, 20:19 #42
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
спасибо огромное все!!! у меня все работает!!!!!!!!!
Вывеси рабочий код программы, всем же интересно

Добавлено через 3 минуты
Вот это реализация этого, ну если я правильно понял) C(n,m)=n!/(m!*(n-m)!).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
#include<math.h>
using namespace std;
int n, m;
int C(int n, int m){
    int h,t,p=1;
    int Fone=1,Ftwo=1, Ftrip=1;
 
    if (n>m){
    h=n-m;
    for (int i=1; i<=n;i++) Fone*=i;
    for (int i=1; i<=m;i++) Ftwo*=i;
    for (int i=1; i<=h;i++) Ftrip*=i;
     t=Fone/(Ftwo*Ftrip);
     return t;
    }
    else cout << "Error: n<m";
}
int main(){
    int t;
    
    cout << "Vvedite chisla n|m(n>m): ";
    cin >> n >> m;
    t=C(n,m);
    cout << endl << "Otvet: " << t ;
 
    system ("PAUSE >> null");
}
0
-=ЮрА=-
24.04.2013, 21:31
  #43

Не по теме:

okman, пост 30 и пост 39, как то даже обидно, распинался показывал и вот те

Цитата Сообщение от okman Посмотреть сообщение
Вывеси рабочий код программы, всем же интересно

1
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 04:35  [ТС] #44
действительно огромное спасибо!! я просто поняла как это сделать и больше не хотела тратить ваше время, и ни в коем случае не хотела вас обидеть! вы действительно мне очень помогли!
0
25.04.2013, 04:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 04:35
Привет! Вот еще темы с ответами:

Факториал - C++
помогите написать прогу факториала в С++ с помощью циклов. Мне нужна простая прога а не на пол экрана. облазил весь инет, нигде нет...

Факториал - C++
Нужно посчитать факториал (3*n+2)! в цикле приведенной ниже программы. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

факториал и с++ - C++
Помогите написать программу на языке с++ для нахождения факториала. Заранее спасибо!

Факториал - C++
Здравствуйте! Задали новые задачки, не могу реализовать функцию для факториала. Например есть вот такое выражение S= ( i! )/(( N+i )!) ...


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

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

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