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

Ханойские башни, объясните принцип работы! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нули между символами в строке http://www.cyberforum.ru/cpp-beginners/thread451548.html
Добрый вечер) Скорее всего нубский вопрос, однако поиском пользовался - ничего не нашел. Собственно суть: Из файла считываю строки: ifstream fs("C:\\test.txt"); string u; while (!fs.eof()) { getline(fs,u); }
C++ Реализовать команду md-создание каталога в Borland C++ Нужно сделать так, что бы по команде md (пример: md C:\CyberForum) создавалась определенная папка, название какой мы сами установим (принцип командной строки). Прошу помощи, ибо я уже запутался. http://www.cyberforum.ru/cpp-beginners/thread451546.html
C++ Задан массив A из N элементов...
Здравствуйте.помоги,пожалуйста,решить вот эти 2 задачи: 1.Задан массив A из N элементов. Составить программу, определяющую, содержится ли в нем один элемент, имеющий минимальное значение или таких элементов несколько. Программа должна выводить либо слово "один", либо слово "не один". Число N и значения элементов массива задаются вводом. N не больше 10. 2.В матрице размерами N*M определить...
C++ Группировка функций разных классов
Всем привет! Возник спорный вопрос. Задача: Есть много классов, но у каждого из них может быть (! а может и нет) по методу, например, следующий набор: fnc1, fnc2, fnc3. Программа должна вызвать эти функции независимо от класса и его свойств. Точнее в программе создаются по 1 (скорее по нескольку) экземпляров классов, а программа должна вызвать у каждого из них один и тот же метод. Я нашел...
C++ Вывод строк с двузначными числами, оформление в виде функции http://www.cyberforum.ru/cpp-beginners/thread451519.html
Написать программу, считывающую текст из файла и выводящую на экран строки, содержащие только двузначные числа. Оформить в виде функций законченные последовательности действий. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. буду благодарна)
C++ Попадает ли точка с заданными координатами в указанную область Нужно создать программу, которая проверяет принадлежность точки заштрихованной области. Помогите пожалуйста!!! подробнее

Показать сообщение отдельно
Count
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 24
24.02.2012, 08:23     Ханойские башни, объясните принцип работы!
Можете мне "расписать" все что происходит в этом коде, плюс отдельные вопросы в "комментариях", так что бы я сам смог это объяснить если меня спросят!

Начальный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Ханойские башни
#include <iostream>
 
using namespace std;
 
void hanoi_towers(int quantity, int from, int to, int buf_peg)   //quantity-число колец, from-начальное положение колец(1-3),to-конечное положение колец(1-3)
{                                                         //buf_peg - промежуточный колышек(1-3)
        if (quantity != 0)
        {
                hanoi_towers(quantity-1, from, buf_peg, to);
 
                cout << from << " -> " << to << endl;
 
                hanoi_towers(quantity-1, buf_peg, to, from);
        }
}
 
int main()
{
        setlocale(LC_ALL,"rus");
        int start_peg, destination_peg, buffer_peg, plate_quantity;
        cout << "Номер первого столбика:" << endl;
        cin  >> start_peg;
        cout << "Номер конечного столбика:" << endl;
        cin  >> destination_peg;
        cout << "Номер промежуточного столбика:" << endl;
        cin  >> buffer_peg;
        cout << "Количество дисков:" << endl;
        cin  >> plate_quantity;
 
        hanoi_towers(plate_quantity, start_peg, destination_peg, buffer_peg);
return 0;
}
код с вопросами:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
 
void hanoi_towers(int quantity, int from, int to, int buf_peg)   //хотелось бы подробно узнать о том что происходит здесь, ка и каким образом это все пишется в void?  Что такое int from и int to, и чем оно является и их так сказать "тип" (включая int quantity и  int buf_peg)
{                                                         
        if (quantity != 0)
        {
                hanoi_towers(quantity-1, from, buf_peg, to); // Объясните что происходит внутри этих фигурных скобок? 
 
                cout << from << " -> " << to << endl;
 
                hanoi_towers(quantity-1, buf_peg, to, from);
        }
}
 
int main()
{
        setlocale(LC_ALL,"rus");
        int start_peg, destination_peg, buffer_peg, plate_quantity;// Тут задаются переменные с помощью которых все будет выводится на экран?
        cout << "Номер первого столбика:" << endl;
        cin  >> start_peg;
        cout << "Номер конечного столбика:" << endl;
        cin  >> destination_peg;
        cout << "Номер промежуточного столбика:" << endl;
        cin  >> buffer_peg;
        cout << "Количество дисков:" << endl;
        cin  >> plate_quantity;
 
        hanoi_towers(plate_quantity, start_peg, destination_peg, buffer_peg); // Что происходит здесь? 
return 0;
}
Добавлено через 13 часов 31 минуту
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru