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

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

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

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

16.01.2014, 14:57. Просмотров 911. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 14:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как заменить цикл while на рекурсию? (C++):

Заменить рекурсию на цикл - C++
Как можно заменить данную рекурсию на цикл? #define pc putchar_unlocked void put (long long int num) { if (!num) { ...

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

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

Найти значение формулы используя рекурсию и цикл - C++
Народ, помогите с задачей. Найти значение формулы используя рекурсию и цикл (2 способами: рекурсией и циклом).

Как цикл for заменить на while? - C++
#include &lt;stdio.h&gt; void getbin(unsigned int n) { for (int i = 0; i &lt; 32; i++) { if (n &amp; 0x80000000) putc('1',...

заменить цикл for на цикл while - C++
#include &lt;iostream&gt; using namespace std; int main() { int N, M, sum; cout &lt;&lt; &quot;Введите число N:&quot; &lt;&lt; endl; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
16.01.2014, 15:11 #2
Вместо цикла while надо проверять значение условием
и уже в теле условия выполнить рекурсию:
C++
1
2
3
4
5
if(eps < fabs(member))
{
    //........
    getf(first, eps);
}
Возможно понадобится доработка...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 15:11
Привет! Вот еще темы с ответами:

заменить на цикл for - C++
Как в этой программе заменить цикл do {..} while() на цикл for(){...} ...

std::map (заменить цикл на грамотный алгоритм) - C++
Привет! Привожу пример: struct Info { Info() : magicNumber(0), age(0) {} Info(int magicNumber, int age) :...

Заменить некоторые члены последовательности используя цикл for - C++
Даны натуральное число n, целые числа а1,а2,...,аn. Заменить все больше семи члены последовательности а1,а2,...,аn числом 7. Вычислить...

Заменить оператор goto на цикл, если это возможно - C++
Есть простой таймер #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; int main(){ ...


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

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

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