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

Помогите разобраться с рекурсией... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните смысл выражения http://www.cyberforum.ru/cpp-beginners/thread19835.html
#include<iostream.h> #include<conio.h> void main(void) { clrscr(); cout<<17%3 ; getch(); clrscr(); }
C++ Найти задачник по языку поздравляю всех с наступающим новым годом! я начинающий программист (т.е. почти ничего не знаю) и мне хотелось бы найти какой нибудь ЗАДАЧНИК чтобы по мере изучения теории с++ я мог бы попрактиковаться и в написании программ... подскажите какую нибудь книженцию, пожалуйста:) http://www.cyberforum.ru/cpp-beginners/thread19829.html
Сортировка массива структур C++
Помогите с сортировкой даных в массиве структур. Мне нужно реализовать сортировку по любому заданному полю. Вот программа: #include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> ///////////////////////////////STRUCTURA//////////////////////////////////////
C++ Помогите переделать malloc в realloc!
Нужно что бы распределение памяти было realoc-ом, помогите пожалуйста Красным выделен malloc //---------------------ZADANIE ------------------------- // Dany natural'noe chislo N, deystvitel'nye chisla // a, ... , a. Poluchit' max (a,...,a) // Vi4islit' (a^2+...+a^2) // ----------------------------------------------------
C++ не используя доп. памяти , найти кол. совподающих значений элементов массива А и В http://www.cyberforum.ru/cpp-beginners/thread19820.html
Задача такова: Даны два упорядоченных массива А и В (необязательно одинаковой длины). В каждом из массивов могут быть совподающие элементы. Не используя дополнительной памяти, найти количество совподающих значений элементов А и В (т.е. колличество t, для которых t= A=B ) буду очень рад если поможите Добавлено через 4 минуты 47 секунд Вот пока что я написал...проблема заключается в том...
C++ Конструктор копирования стека Добрый день! Имеется стандартный стек с функ-ми push(), pop(), а так же функ-й, определяющей размерность стека. Нужно написать конструктор копирования для этого стека. Что имеется ввиду под этим заданием? Что все значения, которые будут засовываться в первоначальный стек, будут копироваться в новый стек? На одном из форумов нашла очень похожую проблему, но она там решается через... подробнее

Показать сообщение отдельно
Какодемон
1 / 1 / 0
Регистрация: 27.12.2008
Сообщений: 16

Помогите разобраться с рекурсией... - C++

27.12.2008, 04:19. Просмотров 508. Ответов 2
Метки (Все метки)

Здравствуйте, нашел решение задачи "ханойских башен", проблема с пониманием.

Код
<...>
       tn(n,1,2,3);
<...>
    void tn(int n, int i, int j, int w)   /*   рекурсивная  */
    {  if (n>1)                           /*   функция      */
        {  tn (n-1,i,w,j);
           tn (1,i,j,w);
           tn (n-1,w,j,i);
         }
        else printf(" \n %d -> %d",i,j);
        return ;
    }
Вобщем, проблема в том, что я никак не могу понять, что происходит после того, как n становится больше двух. Я опять отнимаю от него 1, получаю 2, потом отнимаю ещё раз 1, достигаю базовой задачи, понимаю, что на экран выводится " printf(" \n %d -> %d",i,j); ". Потом возвращаюсь к n=3, но так, как не могу себе представить что должно происходить дальше, отнимаю единицу, возвращаюсь к базовой задаче(n=1).........
Вобщем, примерно 5 часов пытаюсь понять как это работает. Обьясните, пожалуйста, кому не лень.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru