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

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

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

Рекурсия, почему программа завершается аварийно? - C++

02.09.2013, 18:13. Просмотров 657. Ответов 10
Метки нет (Все метки)

Подскажите, почему не работает рекурсия??
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
void fn(int value)
{
    fn(value);
}
int main ()
{
    int value=2;
    fn(value);
    return 0;
}
Р.S. Программа аварийно завершается.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2013, 18:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсия, почему программа завершается аварийно? (C++):

программа завершается аварийно - C++
запускаю компилятор, все запустилось, работает (меню из кучи условий if-else). выбираю любой пункт меню и он работает, после этого надо...

Программа аварийно завершается после оператора scanf - C++
Такая проблема. Я начинающий. Занимаюсь уже вторую неделю. Написал такой код, запускаю программа. Все хорошо, но стоит дойти программе до...

Проблемы с delete [], программа периодически аварийно завершается на строке с освобождением памяти. - C++
Добрый день! Столкнулся со следующей задачей: в программе требуется довольно часто изменять размеры массива, для чего использую...

Программа аварийно завершается с ошибкой "map/set iterators are incompatible" - C++
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в...

Программа завершается с ошибкой, подскажите почему - C++
Вводится координата шахматной доски где распологается конь, это координата при выводе обозначается &quot;К&quot;,клетки которые бьет конь...

Класс для динамических матриц. После ввода элементов матрицы программа аварийно закрывается - C++
В программе я создал класс, отвечающий за ввод и вывод динамической матрицы. Однако после ввода элементов матрицы программа аварийно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,430
Записей в блоге: 3
Завершенные тесты: 1
02.09.2013, 18:17 #2
С чего Вы взяли что она не работает?
1
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
02.09.2013, 18:37 #3
Цитата Сообщение от Nikko12 Посмотреть сообщение
Подскажите, почему не работает рекурсия??
Она работает, но уходит в бесконечный цикл, возможно из за переполнение стека программа вылетает
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.09.2013, 18:42 #4
Цитата Сообщение от Nikko12 Посмотреть сообщение
Подскажите, почему не работает рекурсия??
Выход из рекурсии по какому условию должен быть? Выхода нет, вот и вылетает...
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
02.09.2013, 18:42  [ТС] #5
Raali, Croessmah, Она завершается с кодом -1073741819
0
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,430
Записей в блоге: 3
Завершенные тесты: 1
02.09.2013, 18:43 #6
Nikko12, у Вас нет завершения рекурсии, поэтому программа и падает
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
02.09.2013, 18:44  [ТС] #7
alsav22, Raali, Croessmah, Она при достижении строки 5 аварийно звершается скодом -1073741819. Рекурсия не выполняется вообще...

Добавлено через 47 секунд
Croessmah, Как понять "завершения рекурсии"??? Вы имеет ввиду, что бесконечный цикл???
0
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,430
Записей в блоге: 3
Завершенные тесты: 1
02.09.2013, 18:47 #8
Цитата Сообщение от Nikko12 Посмотреть сообщение
Как понять "завершения рекурсии"??? Вы имеет ввиду, что бесконечный цикл???
Рекурсия и рекурсивные алгоритмы
1
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,061
Завершенные тесты: 1
02.09.2013, 18:48 #9
Цитата Сообщение от Nikko12 Посмотреть сообщение
Она при достижении строки 5 аварийно звершается
как раз на 5 строчке мы в стек и добавляем адрес возврата, и при этом ниразу не забераем оттуда его, в момент переполнения и завершается(теоретически)
1
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
02.09.2013, 18:57 #10
А что вы хотели сделать здесь с её помощью?
У вас нет выхода из рекурсии, ваша функция будет вызывать саму себя бесконечно.
0
Nikko12
1 / 1 / 0
Регистрация: 07.06.2013
Сообщений: 162
02.09.2013, 19:00  [ТС] #11
Спасибо, вроде исправил ошибку.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2013, 19:00
Привет! Вот еще темы с ответами:

Не завершается программа - C++
После ввода массива консоль не закрывается, почему? #include &quot;stdafx.h&quot; #include &lt;fstream&gt; #include &lt;stdlib.h&gt; #include &lt;iomanip&gt; ...

Программа не завершается - C++
Здравствуйте! 1) Моя программа на первом же тесте превышает положенное время (она не долго работает, она просто не завершается)....

Программа не завершается корректно - C++
Написал программу, определяющую наибольшее из двух введённых пользователем чисел. Решил усложнить её и завершить её только нажатия,...

Программа сразу завершается - C++
Здравствуйте! Я написал программу с конфигурацией решения Release, при запуске exe-файла программа тут же закрывается, а то что она выводит...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.09.2013, 19:00
Ответ Создать тему
Опции темы

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