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

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

Войти
Регистрация
Восстановить пароль
 
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
#1

вместо цикла рекурсию сделать - C++

04.04.2013, 10:02. Просмотров 389. Ответов 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
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include <iostream>
#include "locale.h" 
#include "conio.h" 
#include <vector>
#include <string>
#include <algorithm>            
#include <iterator>
#include <functional>
using namespace std;
 
double calc(int n, double sum)
{
    if(n == 0)
        return sum;
    else{
        int a = 1, b = 1;
        double p = 2.0, f = 1.0;
 
 
      for (unsigned i = 1; i <= n; i++) {
            sum += p / (f * (1.0 + (1.0 * a) * a + (1.0 * b) * b));
            
            p *= 2;
            f *= i + 1;
            
            int a_ = a, b_ = b;
            a = 3 * b_ + 2 * a_;
            b = 2 * a_ + b_;
        }
 
        sum = calc(n - 1, sum);
        return sum;
    }
 
 
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    double sum = 0;
    cout << "Enter n : ";
    cin >> n;
 
    cout << calc(n, sum) << endl << endl;;
  _getch();
    return 0;
 
}
тоест вместо данного цикла который служит для посчета суммы у меня должна быть рекурсия

Добавлено через 20 часов 15 минут
помогите пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 10:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вместо цикла рекурсию сделать (C++):

Перевод с цикла в рекурсию - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; // Для рандома #include &lt;time.h&gt; // Для рандома #include &lt;locale.h&gt; // Для чтения русской...

Имитация цикла for через рекурсию - C++
Имитация цикла for через рекурсию

Выполните, пожалуйста, задание, при этом вместо оператора цикла while используйте оператора цикла do_while - C++
Используя оператор цикла while, напишите программу для вычисления ниже следующей суммы. // fkdj.cpp: определяет точку входа...

Использование рекурсии вместо цикла - C++
Помогите, пожалуйста! Нужно вместо циклов использовать рекурсию, как это сделать? #include &lt;iostream&gt; using namespace std; int...

Как это задание сделать через рекурсию? - C++
У меня есть задание посчитать биномальный коэфициент простым способом и через рекурсию. Простым способом я сделал, нужно теперь это...

Используя рекурсию, сделать так, чтобы значение многочлена степеней выводилось от 0 до N - C++
Дана рекурентная формула:. Я вывел рекурсию, но как сделать, чтобы значение многочлена степеней выводилось от 0 до N. Прилаживаю код...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
04.04.2013, 11:38 #2
easyfrag,

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
#include <iostream>
using namespace std;
 
double calc(int n, double sum)
{
    if(n == 0)
        return sum;
    else{
        int a = 1, b = 1;
        double p = 2.0, f = 1.0;
 
        sum += p / (f * (1.0 + (1.0 * a) * a + (1.0 * b) * b));
            
        p *= 2;
        f *= n + 1;
            
        int a_ = a, b_ = b;
        a = 3 * b_ + 2 * a_;
        b = 2 * a_ + b_;
 
        sum = calc(n - 1, sum);
        return sum;
    }
 
 
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n;
    double sum = 0;
    cout << "Enter n : ";
    cin >> n;
 
    cout << calc(n, sum) << endl << endl;;
 
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2013, 11:38
Привет! Вот еще темы с ответами:

При вводе вместо цифр символов программа перестаёт ожидать ввода на следующей итерации цикла. Почему? - C++
Почему это происходит? #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); void...

Сделать паузу во время цикла - C++
есть цикл который выводит цвета-непрерывно. И есть подьзователь,который нажимает старт игры,паузу и выход. Не могу сделать паузу во время...

Как сделать выход из цикла работающей программы ? - C++
Здравствуйте - всем. Вопрос такой. Сделал программу и она из большого массива строк выбирает нужные строки и складывает их в отдельный...

В заданной программе сделать вместо рекурсивной функции - итерационную - C++
Здравствуйте. Помогите разобраться как в следующей программе сделать вместо рекурсивной функции - итерационную. Программа выводит...


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

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

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