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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение пробела в предложении http://www.cyberforum.ru/cpp-beginners/thread784690.html
Задание: нужно ввести с клавиатуры предложение, затем найти в нем пробелы и заменить их введенными с клавиатуры символами. Имеются классы, дружественные функции и защищенные (protected) переменные...
C++ Объясните строчку в коде #include <iostream> using namespace std; class Node{ public: int data; Node * next; Node *prev; Node(int x){ http://www.cyberforum.ru/cpp-beginners/thread784664.html
C++ Цикл без тела
Доброго всем дня! Читаю книжку, раздел управляющие конструкции, и тут встречаю вот такое утверждение: "В некоторых программах даже встречается циклы без тела, в которых сразу после условия следует...
Как сделать, чтобы функция класса могла работать с обьектами другого класса C++
есть класс к примеру class One и класс к примеру class Two нужно чтобы элемент функция класса One могла работать в обьектами класа Two как связать эти класы?
C++ Надо написать программу на С++ с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread784637.html
* Составить программу, выполняет с одномерным массивом действия согласно заданию. Вместо классического доступа к элементам массива (например, MyArray ) и выполнения операций над элементами...
C++ Очередная формация давно решённой задачи Всем доброго времени суток! Необходимо было решить задачу с 2мя кубиками: Задача: написать программу, реализующую игру в кости. Правила игры: 1. Играющий называет любое число в диапазоне от... подробнее

Показать сообщение отдельно
colya
0 / 0 / 0
Регистрация: 04.02.2013
Сообщений: 12

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

12.02.2013, 15:11. Просмотров 946. Ответов 2
Метки (Все метки)

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

Вот сама ф-ия:

C++
1
2
3
4
5
6
7
8
9
10
void f1 (int num)
{
arr [num] = 0;
 
for (vector <int>::iterator it = data [ num ].begin (); it < data [ num ].end (); it++)
    {
    if (arr [*it - 1]) f1 (*it - 1);
    arr [*it - 1] = 0;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.