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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tcennoc
1 / 1 / 0
Регистрация: 22.11.2013
Сообщений: 35
#1

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

28.11.2013, 20:51. Просмотров 282. Ответов 2
Метки нет (Все метки)

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' Как они вообще присваиваются?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 20:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Присваивание значений параметрам в рекурсивной функции (C++):

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

Присваивание значений членам класса - C++
Доброго времени суток. Возникла проблема, в классе имеется простая функция set, которая присваивает значения четырем элементам класса,...

Многомерные статические массивы. Присваивание значений - C++
Помогите сделать задание правильно: На грядках посажена капуста и морковь. Грядки расположены рядом и образуют квадратичную матрицу...

Присваивание значений одного класса другому. - C++
Скажите, могу ли я присвоить значения одного объекта класса другому объекту того же класса? class card { //код код код }; int...

Присваивание переменным значений при выбранном пункте ComboBox - C++
Здравствуйте, уважаемые программисты! Мне 13 лет и я пытаюсь освоить программирование на си ++ самостоятельно. У меня небольшая проблема. ...

Присваивание по ссылке в шаблонной функции - C++
такая проблема: при попытке скомпилировать следующий код //... template &lt;typename Type&gt; void input(Type&amp; result,int x, int y,...

2
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
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) и т.д.
1
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);
}
0
Миниатюры
Присваивание значений параметрам в рекурсивной функции  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 19:39
Привет! Вот еще темы с ответами:

Из рекурсивной функции в не рекурсивную - C++
Есть рекурсивная функция сортировки слиянием. Нужно переделать на функцию без рекурсий. void mergeSort(long* a, int begin, int end) ...

Схема рекурсивной функции - C++
Hi. Есть рекурсивная функция, для вычисления значения числа в n-ной степени. int power(int base, int exponent) { if(exponent...

Использование рекурсивной функции - C++
Вычислить сумму 12 членов рекуррентной последовательности(вложения) Для решения задачи описать рекурсивную функцию, а также составить...

Как запретить присваивание по возвращённой из функции ссылке? - C++
Вопрос вот в чём. Есть класс с вложенным объектом (допустим контейнер, но не обязательно): class Class { vector&lt;int&gt; _array;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.