Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 27.03.2017
Сообщений: 19

C++. Рекурсия не работает

04.05.2017, 09:28. Показов 1410. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть функция
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
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double y(int);
int main ()
{    
int n;
cout << "vvedite n: "; 
cin >> n;
int i=n-1;
cout << endl;
cout << "y (ne rekurs) = " << fixed << setprecision(6) << y(n) << endl << endl;
return 0;
}
double y(int n)
{
int d=n-1; 
double del=0.5; 
for(int i=d;i>=0;i--){ 
del=1/((n-i)+del);
    }
    return del;
}
из неё сделать рекурсию. У меня получилась так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
double drob(int n);
 
int main()
{
    int a;
    cout << "Enter number: " << endl;
    cin >> a;
 
    cout << drob(a) << endl;
 
    return 0;
}
double drob(int n)
{ 
if (n==0) return 0.5; 
return 1/((n-1)+drob(n)); 
}
но она не работает.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2017, 09:28
Ответы с готовыми решениями:

Не работает рекурсия
Нужно было вычислить сумму цифр числа N с помощью рекурсии. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int func(int); int...

Рекурсия не работает
Всем привет, есть такой код: n = {'None': 'global', 'global': 'foo'} variable = {'global': 'a', 'foo': 'b'} def get(namespace,...

Рекурсия не работает.
Помогите , не пойму почему не работает прога ... хочу посчитать общее кол-во папок на диске ... вызываю вначале функцию так ... ...

2
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
04.05.2017, 09:29
n при каждом вызове должна изменяться.
1
0 / 0 / 1
Регистрация: 27.03.2017
Сообщений: 19
04.05.2017, 11:02  [ТС]
точно получится так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
double drob(int n);
 
int main()
{
    int a;
    cout << "Enter number: " << endl;
    cin >> a;
 
    cout << drob(a) << endl;
 
    return 0;
}
double drob(int n)
{ 
if (n==0) return 0.5; 
return 1/((n-1)+drob(n-1)); 
}
но теперь появилась другая проблема результат не совпадает

Добавлено через 3 минуты
тема закрыта я нашел свою ошибку в формуле рекурсии!

Добавлено через 44 секунды
должна быть так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
 
using namespace std; 
 
double drob(int n); 
 
int main() 
{ 
int a; 
cout << "Enter number: " << endl; 
cin >> a; 
 
cout << drob(a) << endl; 
 
return 0; 
} 
double drob(int n) 
{ 
if (n==0) return 0.5; 
return 1/((n)+drob(n-1)); 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2017, 11:02
Помогаю со студенческими работами здесь

Не работает рекурсия
Помогите пожалуйста, не считает рекурсией формулу: x-x^2/2+x^3/3-...-&gt;ln(1+x) Сумму ряда я решил, а рекурсию не считает(( double...

8.3 Рекурсия не работает
Есть такие строки: ВыборкаП = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Выборка_Рекурсия(ВыборкаП, Дерево) ...

Как работает рекурсия?
Помогите разобраться, не понимаю до конца как работает рекурсия в связке с субстринг... Вопрос: Почему при условии if (str.Length &gt;...

Как работает рекурсия?
Написал недавно метод, когда писал всё так было просто и понятно, сейчас просматриваю, и вот хоть убей не пойму как он проверяет условие...

Как работает рекурсия?
Здравствуйте! Темы указателей и рекурсии оказались очень сложными для самостоятельного изучения. Объясните, пожалуйста, с примерами: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru