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

По поводу рекурсии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод информации в 1 строке http://www.cyberforum.ru/cpp-beginners/thread156280.html
Тут я в парочке консольных программ видел что, Там вывод идет на одной строке т.е cout << sub; и мне нужно что бы значение вывода менялось в зависимости от изменения переменной sub и делалось это на одном и том же месте. а не перескакивало на другие строчки
C++ Тип - матрица, состоящяя из float'ов 4x4 Как правильно объявить такой тип?? http://www.cyberforum.ru/cpp-beginners/thread156274.html
C++ Два модуля ссылаются на один
В двух модулях есть ссылка #include "Geometry.h" В результате ошибки: f:\projects\test7\geometry.h(9) : error C2011: 'TPoint' : 'struct' type redefinition f:\projects\test7\geometry.h(13) : error C2011: 'TPlane' : 'struct' type redefinition и.т.д. Как избавиться от ошибки??
C++ "Баг" в программе
#include <iostream> #include <conio.h> #include <cstdlib> using namespace std; template <class X> X abs(X n) { if (n < 0) return -n;
C++ Разбор массивов/контейнеров http://www.cyberforum.ru/cpp-beginners/thread156250.html
Только начинаю изучть с++, необходимо сделать 2 ассоциативных динамических массива и походу сразу разобраться что да как. Задача такова, первый массив в пике будет достигать ~300 тыс элементов. Добавление, удаление и поиск элементов по ключу будет производиться ~ 200 раз в минуту. Полное считывание массива будет происходить ~ один раз в 5 минут. При этом в сортировке нет необходимости Второй...
C++ неправильное чтение бинарного файла. программа должна по идее вывести 99.. мне так казалось.. #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; int main() { подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.07.2010, 11:27     По поводу рекурсии
А что именно непонятно? Просто возьми пример и распиши.
Например вот так, двигаться по стрелкам

Код
Возьмем два числа: 13 и 21.

1f) a = 13, b = 21;          return (2f) ( = 1);
         |                      ^
         v                      |
2f) a = 21, b = 13;          return (3f) ( = 1);
         |                      ^
         v                      |
3f) a = 13, b = 8;           return (4f) ( = 1);
         |                      ^
         v                      |
4f) a = 8,  b = 5;           return (5f) ( = 1);
         |                      ^
         v                      |
5f) a = 5,  b = 3;           return (6f) ( = 1);
         |                      ^
         v                      |
6f) a = 3,  b = 2;           return (7f) ( = 1);
         |                      ^
         v                      |
7f) a = 2,  b = 1;           return (8f) ( = 1);
         |                      ^
         v                      |
8f) a = 1,  b = 1;           return (9f) ( = 1); // 9f - 9-ая вызванная в рекурсии функция nod
         |                      ^
         v                      |
9f) a = 1,  b = 0;           return a ( = 1);
         |                      |
         +----------------------+
Собственно, этим рекурсия и плоха, что пока функция не возвратит значение, она должна держаться в памяти и все переменные в ней тоже хранятся до выхода из функции. конкретно в этом примере необходимо хранить 9 вызовов. а это еще очень неглубокая рекурсия.

Не по теме:

а лесапед и правда очень интересный

 
Текущее время: 15:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru