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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение пробела в предложении http://www.cyberforum.ru/cpp-beginners/thread784690.html
Задание: нужно ввести с клавиатуры предложение, затем найти в нем пробелы и заменить их введенными с клавиатуры символами. Имеются классы, дружественные функции и защищенные (protected) переменные (обязательные условия). Функция по нахождению пробелов (put) работать не хочет... Новичок в плюсах, не серчайте =) // --------- main.cpp #include "stdafx.h" #include <string.h> #include <stdio.h>...
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. Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход 2. Программа с помощью генератора случайных чисел дважды выбирает числа от 1 до 6 (бросает кубик, на гранях которого цифры от 1 до 6) 3. Если сумма... подробнее

Показать сообщение отдельно
colya
0 / 0 / 0
Регистрация: 04.02.2013
Сообщений: 12
12.02.2013, 15:11     заменить рекурсию на цикл
Здравствуйте. У меня есть рекурсивная ф-ия, но глубина вызова довольно большая, в итоге стек переполняется и прога падает. Подскажите, как переписать ее в виде цикла и как вообще в дальнейшем действовать, если понадобиться переписывать ф-ию в цикл. У просто вообще никаких идей нет....

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

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;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru