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

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

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

Как заменить цикл while на рекурсию? - C++

16.01.2014, 14:57. Просмотров 866. Ответов 1
Метки нет (Все метки)

Как сделать в даной функции, вычисления через рекурсию, а не через цикл...
тут происходит розложение в ряд Тейлора,

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
double getf(double x, double eps) // значение по разложению
{ 
    double first = x;
    double member = 1/first;
    int k = 3;
    double ret = 0.0;
    
    while (eps < fabs(member))
    {
        ret += member;
        first *= x*x;
        member = 1/(k*first);
        k += 2; 
    }
    
    return 2*ret;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 14:57     Как заменить цикл while на рекурсию?
Посмотрите здесь:
заменить рекурсию на цикл C++
Заменить рекурсию на цикл C++
Рекурсию в цикл C++
C++ Как цикл for заменить на while?
C++ Найти значение формулы используя рекурсию и цикл
заменить цикл for на цикл while C++
C++ заменить на цикл for
std::map (заменить цикл на грамотный алгоритм) C++
C++ Заменить некоторые члены последовательности используя цикл for
C++ Заменить оператор goto на цикл, если это возможно
Как обойти рекурсию? C++
C++ Цикл: заменить нулями все четные цифры данного числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
16.01.2014, 15:11     Как заменить цикл while на рекурсию? #2
Вместо цикла while надо проверять значение условием
и уже в теле условия выполнить рекурсию:
C++
1
2
3
4
5
if(eps < fabs(member))
{
    //........
    getf(first, eps);
}
Возможно понадобится доработка...
Yandex
Объявления
16.01.2014, 15:11     Как заменить цикл while на рекурсию?
Ответ Создать тему
Опции темы

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