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

Задача на рекурсию - C++

Восстановить пароль Регистрация
 
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
18.05.2013, 00:42     Задача на рекурсию #1
Вот код проги которую я написал:
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
#include <iostream>
using namespace std;
 
 
int factr(double i){
    int answer;
    if(i==1)
        return(1);
    }
double rec(int x, double i)
    {    double sum;
        if (i == 1) return i*i+x;
        else return sum+=((factr(i)+x*x*x)/factr(i))+rec(x,i-1);
    }
int main()
{
    
    int i;
    int x;
    
 
    cout << "vvedite i:";
    cin >> i;
    while(n<=0)
    {
        cout<<"error"<<endl<<"Vvedite i:";
        cin >> i;
    }
    cout<<'\n';
    cout<<"Vvedite x:";
    cin>>x;
    cout<<'\n';
 
    
    cout<<"Rez:"<<rec(x,i)<<endl;
    system("pause");
    return 0;
}
Задание : Найти сумму n-членов ряда http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{n}\frac{i!+x^3}{i!}
проблема заключаеться в том, что он не высчитывает суму, зачастую отображает какие то каки-маляки. я вообще без понятия что с этим делать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 00:42     Задача на рекурсию
Посмотрите здесь:

C++ Задача на рекурсию
Задача на рекурсию C++
C++ Задача на рекурсию
Задача на рекурсию C++
C++ Задача на рекурсию
C++ задача на рекурсию в си++
Задача на рекурсию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MyMind
24 / 24 / 7
Регистрация: 14.05.2013
Сообщений: 68
18.05.2013, 01:10     Задача на рекурсию #2
в своей функции вместо
C++
1
double sum;
напишите
C++
1
double sum = 0;
переменные обнулять надо. в них изначально хранится мусор.
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
18.05.2013, 01:52  [ТС]     Задача на рекурсию #3
MyMind, не, не помогло
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
18.05.2013, 02:19     Задача на рекурсию #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
27
#include <iostream>
 
int f(int v)
{
    if (v == 1)
    {
        return v;
    }
 
    return f(v-1) * v;
}
 
int main()
{
    int i, x, n = 0;
    std::cout << "Put 'i': ";
    std::cin >> i;
    std::cout << "Put 'x': ";
    std::cin >> x;
 
    for (int j = 1; i != j; --i)
    {
        n += (f(i) + x*x*x) / f(i);
    }
 
    std::cout << "n = " << n << '\n';
}
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
18.05.2013, 03:01  [ТС]     Задача на рекурсию #5
xtorne21st, я подобным образом делал эту прогу, но мне сказали переделывать, что бы в проге не было цикла for,
kalpakk
 Аватар для kalpakk
13 / 13 / 1
Регистрация: 02.07.2011
Сообщений: 62
18.05.2013, 07:22     Задача на рекурсию #6
если я не ошибаюсь, то как то так
C++
1
2
3
4
5
6
7
8
9
10
11
float fact(int n) // факториал 
   {
     if (n==1) return 1;
     else return (n*fact(n-1));
   };
 
float suma(int i, float x) // вычисление суммы
   {
    if (i==1) return (1+x*x*x)/1;
    else return suma(i-1,x)+((fact(i)+x*x*x)/fact(i));
   };
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 09:24     Задача на рекурсию
Еще ссылки по теме:

Задача на рекурсию C++
задача на рекурсию, С++)заранее благодарю C++
Логическая ошибка в коде (задача на рекурсию) C++
Задача на рекурсию C++
C++ Задача на рекурсию

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

Или воспользуйтесь поиском по форуму:
Рейвол
2 / 2 / 0
Регистрация: 06.10.2012
Сообщений: 44
18.05.2013, 09:24  [ТС]     Задача на рекурсию #7
kalpakk, о, а вот тут помогло, спасибо
Yandex
Объявления
18.05.2013, 09:24     Задача на рекурсию
Ответ Создать тему
Опции темы

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