Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс-шаблон list http://www.cyberforum.ru/cpp-beginners/thread258237.html
Хаюшки всем умным людям:) Есть такое задание: Создать класс-шаблон List для работы со списком на основе массива. Реализовать конструктор, деструктор, метод добавления значения в начало списка,...
C++ Текст. файлы 1. Пусть дан текстовый файл. Определите, сколько строк файла имеют длину, большую, равную и меньшую, чем заданное значение k. 2. Пусть дан файл целых чисел. Определите длину наибольшего интервала... http://www.cyberforum.ru/cpp-beginners/thread258229.html
C++ Вывод значения элемента массива рандомное число раз
Как вывести значение элемента массива i раз, при условии что i это рандом с заданным диапазоном. пробовал так: if (i > 0) { cout << mass; --i; }
C++ Найти самое короткое слово сообщения.
Найти самое короткое слово сообщения.
C++ Написать функцию, которая заполняет заштрихованную область матрицы нулями http://www.cyberforum.ru/cpp-beginners/thread258181.html
Задана квадратная матрица, все элементы которой ровные единицы. Написать функцию void func (int** arr, int n), которая заполняет заштрихованную область матрицы нулями. Размер массива вводится из...
C++ Тернарная условная операция Выражение1?Выражение2:Выражение3; Чем можно заменить Выражение3, чтобы ничего не выполнилось, а программа дальше стала работать? Как бы, сделать тоже самое if без else. подробнее
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 19:35 0

Ханойская башня (использование переборных методов)

28.03.2011, 19:35. Просмотров 21002. Ответов 21
Метки (Все метки)

Ответ

Копи-паст из википедии: http://ru.wikipedia.org/wiki/%D0%A5%...88%D0%BD%D1%8F

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;
}


Вернуться к обсуждению:
Ханойская башня (использование переборных методов)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 19:35

Ханойская башня
Все вы видели башню Ханоя(если нет, то есть в гугл :D ) . У вас есть 3 столпа «а», «б» и «с», и вам...

Ханойская башня
Добрый день! Помогите решить задачку про ханойскую башню. Надо написать приложение на с++, чтобы...

Ханойская башня
23. Написать программу, которая печатает последовательность действий (в виде «перенести диск с q на...

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