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

Присваивание значений параметрам в рекурсивной функции - C++

Восстановить пароль Регистрация
 
tcennoc
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 35
28.11.2013, 20:51     Присваивание значений параметрам в рекурсивной функции #1
C++
1
2
3
4
5
6
7
8
9
h('a','b','c',10);
void h(char a,char b,char c,int n)
{
if(n!=0)
{
    cout<<a<<"->"<<c<<endl;
h(a,c,b,n-1);
}
}
Подскажите пожалуйста почему например значение с на третьем вызове равно 'c', ведь c должно присваиваться значение 'b' Как они вообще присваиваются?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 20:51     Присваивание значений параметрам в рекурсивной функции
Посмотрите здесь:

Присваивание переменным значений при выбранном пункте ComboBox C++
C++ Присваивание значений одного класса другому.
C++ Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел
C++ Присваивание значений членам класса
Присваивание по ссылке в шаблонной функции C++
Использование рекурсивной функции C++
Из рекурсивной функции в не рекурсивную C++
C++ Создание потоков в рекурсивной функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
29.11.2013, 17:15     Присваивание значений параметрам в рекурсивной функции #2
1. a=1 b=2 c=3 --> (принятое c=3 и на вывод его) --> далее вызов h(1,3,2)-->
2. a=1 b=3 с=2 --> c=2 на вывод 2 --> вызов h(1,2,3) -->
3. a=1,b=2,c=3 --> h(1,3,2) -->
4. a=1,b=3,c=2 --> h(1,2,3) и т.д.
tcennoc
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 35
29.11.2013, 19:39  [ТС]     Присваивание значений параметрам в рекурсивной функции #3
С этим я разобрался. Спасибо. Сделал изменение стека для ханойской башни.Правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
void h(char a,char b,char c,int n);
int main()
{
setlocale(LC_ALL,"Russian");
h('a','b','c',3);
system("pause");
    return 0;
}
void h(char a,char b,char c,int n)
{
if(n==0)
return;
h(a,c,b,n-1);
cout<<a<<"->"<<c<<n<<endl;
h(b,a,c,n-1);
}
Миниатюры
Присваивание значений параметрам в рекурсивной функции  
Yandex
Объявления
29.11.2013, 19:39     Присваивание значений параметрам в рекурсивной функции
Ответ Создать тему
Опции темы

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