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

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

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

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

24.04.2013, 05:24. Просмотров 1355. Ответов 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
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 11:32  [ТС] #16
компилирую на борланд 4.5. нас только на нем учат по рограмме.

Добавлено через 1 минуту
а в скобках потому что, это обьявление параметров функции
0
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
24.04.2013, 12:51 #17
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
а в скобках потому что, это обьявление параметров функции
По хорошему эту информацию вообще не нужно включать в параметры. Она фиксирована. К функции из другой функции можно обращаться непосредственно по имени. Я хотел задать вопрос, зачем вы так делаете, но потом подумал, что это не мое дело, может преподаватель приказал...
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 13:07  [ТС] #18
просто мы программы по примеру делаем, а в примере такое обьявление функции. только там нет суммы, формула без факториала. креатив наказуем плохими отметками. увы

Добавлено через 4 минуты
вот только не получается сделать чтоб этот вариант программы заработал
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
#include<iostream.h>
#include<math.h>
 
double H (double (*f)(double), double n, double m)
{
return f(n)/(f(m)*f(n-m));
}
double f(double n)
{
     double p=1.0;
     for(int i=1;i<=n;i++) p=p*i;
     return p;
}
 
int main()
{ double m,n ;
cout<<"VVedite m, n\n";
cin>>m>>n;
cout<<H(f,n,m);
double x,y;
cout<<"\nVVedite x\n";
cin>>x;
for(int i=1;i<=n;i++)
y=H(f,n,i)*pow(x,i);
cout<<"y="<<y;
}
Добавлено через 5 минут
а есть какой-нибудь другой вариант вызова этой функции, но чтоб последний параметр m заменить на i??
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
24.04.2013, 13:16 #19
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
а есть какой-нибудь другой вариант вызова этой функции, но чтоб последний параметр m заменить на i??
Приятель, у меня сейчас с головой проблемы, по правде говоря я не понимаю что твоя программа должна делать. Ну факториал найти то не проблема, я не понимаю что там еще требуется. Просто голова гудит туго соображаю)
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 14:07  [ТС] #20
Задание звучит так: Составить программу решения задачи с использованием функций нахождения факториала и числа сочетаний из n по m по формуле C(n,m)=n!/(m!*(n-m)!). Нахождение факториала осуществить с помощью вызова подпрограммы. Обчислити вираження для заданих n, x:
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 14:27  [ТС] #21
Задание звучит так: Составить программу решения задачи с использованием функций нахождения факториала и числа сочетаний из n по m по формуле C(n,m)=n!/(m!*(n-m)!). Нахождение факториала осуществить с помощью вызова подпрограммы. Обчислити вираження для заданих n, x:
http://www.cyberforum.ru/cgi-bin/latex.cgi?y= \sum_{i=0}^{n}C_{n}^{i}*{x}^{i}

Добавлено через 1 минуту
я просто уже не знаю что с єтой программой делать
0
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
24.04.2013, 14:31 #22
Так это будет http://www.cyberforum.ru/cgi-bin/latex.cgi?(x+1)^n. Тут и вычислять ничего не надо.
1
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 14:34  [ТС] #23
Простите за глупый вопрос, а куда это нужно вставить в этой программе?
0
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
24.04.2013, 14:35 #24
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
не могу найти ошибку в программе.
Я же указал вам на ошибки, а вы по-прежнему выкладываете ошибочный вариант.

Добавлено через 1 минуту
С вас, наверно, требуют вычислять это через бином Ньютона. А как сейчас выглядит ваша программа?
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 14:38  [ТС] #25
по прежнему:
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
#include<iostream.h>
#include<math.h>
 
double H (double (*f)(double), double n, double m)
{
return f(n)/(f(m)*f(n-m));
}
double f(double n)
{
     double p=1.0;
     for(int i=1;i<=n;i++) p=p*i;
     return p;
}
 
int main()
{ double m,n ;
cout<<"VVedite m, n\n";
cin>>m>>n;
cout<<H(f,n,m);
double x,y;
cout<<"\nVVedite x\n";
cin>>x;
for(int i=1;i<=n;i++)
y=H(f,n,i)*pow(x,i);
cout<<"y="<<y;
}
Добавлено через 26 секунд
я исправила ошибку в 1-м вызове функции

Добавлено через 35 секунд
только она с вызовом 2-й отказывается 1-ю считать

Добавлено через 1 минуту
она работала в виде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream.h>
#include<math.h>
 
double H (double (*f)(double), double m, double n)
{
return f(n)/(f(m)*f(n-m));
}
double f(double n)
{
     double p=1.0;
     for(int i=1;i<=n;i++) p=p*i;
     return p;
}
void main()
{ double m,n,x,y ;
cout<<"VVedite m, n\n";
cin>>m>>n;
cout<<H(f,n,m);}
Добавлено через 22 секунды
только нужно ведь еще сумму посчитать
0
-=ЮрА=-
24.04.2013, 14:40
  #26

Не по теме:

vasilisa-9090, хорошо сейчас набросаю

0
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
24.04.2013, 14:49 #27
C++
1
2
3
4
5
cin>>x;
y=0;
for(int i=0;i<=n;i++)
y+=H(f,n,i)*pow(x,i);
cout<<"y="<<y;
Добавлено через 6 минут
Только если http://www.cyberforum.ru/cgi-bin/latex.cgi?x<0 то функция pow работать не будет. У вас в задании есть условие, что http://www.cyberforum.ru/cgi-bin/latex.cgi?x\ge 0 ?
0
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
24.04.2013, 14:55  [ТС] #28
только оно все равно 1-ю функцию не считает. выдает ответ что для С равный иксу, который вводишь, а в мат модели он другой. а х там положительный вводится по заданию
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 14:57 #29
vasilisa-9090, если совсем просто
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using namespace std;
 
int fact(int n);
int C(int n, int m);
//C(n,m)=n!/(m!*(n-m)!)
 
int main()
{
    int   i,n = 0;
    double x = 0;
    double y = 0;
    double power;
    while(true)
    {
        cout<<"n = ";cin>>n;
        cout<<"x = ";cin>>x;
        power = x;
        for(y = (i = 0); i <= n; i++)
        {
            y = y + C(i, n)*power;
            power = power*x;
        }
        cout<<"y = "<<y<<endl;
    }
    return 0;
}
 
int fact(int n)
{
    int ret = n;
    if(n == 0)
        ret = 1;
    else
    if(0 < (n -= 1))
        ret *= fact(n);
    return ret;
}
 
int C(int n, int m)
{
    return fact(n)*1.0/(fact(m)*fact(n - m));
}
2
Миниатюры
вызов функцииж факториал  
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,103
Записей в блоге: 4
24.04.2013, 14:58 #30
Сейчас я поищу ошибку.
0
24.04.2013, 14:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 14:58
Привет! Вот еще темы с ответами:

Факториал - 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 )!) ...


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

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

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