Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ханойские башни
Форум программистов > Системное программирование > Другие
Ледовский Николай
Господа программисты, помогите решить задачу!
Я начинающий программист и эти Ханойские башни пока не поддаются, поэтому обращаюсь к более опытным программистам.
Задача решается с помощью рекурсии. Имеется 3 колышка, на первый колышек нанизаны, допустим 5 дисков,и нанизаны они так, что из размеры последовательно уменьшаются к вершине. Нужно переместить все диски с первого колышка на второй колышек при условии, что каждый раз берётся только по одному диску и больший диск никогда не должен находиться над меньшим диском. Временно диски можно размещать на третьем колышке.
Если это возможно, то решить задачу без использования массивов.
VB.6 или VB.Net
HuMmmBug
Тебе ханойка нужна только на VB?
Количество дисков, надеюсь, не планируется больше 64... %))) [если известен смысл этой башни]
Ледовский Николай
Да, мне надо только на VB....... Как это не ужасно....
HuMmmBug
наверное, на лабах задали? %)))

посмотрим что мона сделать. без гарантий.
HuMmmBug
как я и полагал в готовых исходниках у меня почему-то не оказалось этой задачи именно на vb.
на as, ls есть, а вот vb - никак нет. %( странно.
писать сейчас, к сожалению, нет времени - перегрузка итак по всем текущим проектам.
извини.
Медведко Артем
Пожалуйста помогите!!!
Мне нужна программа "Ханойские башни" для летней практики по C++. Программа должна быть рекурсивной. Не мотли бы вы помочь кто чем может? sad.gif
anton
вот что я надумал

#define N 5

void h(int *i, int *j, int *k)
{ if(*i==0)return;

h(i+1, k, j);
k++; *k=*i; i--;
h(j,i,k);
}

void main()
{ int A[N],B[N],C[N];
//
инициализация массивов A=(4,3,2,1,0), B=(0,0,0,0,0), C=(0,0,0,0,0);
//
h(A,B,C);
}

Суть в том, что есть три целочисленных массива - башни. A,B,C.
Рекурсивная процедура h:
шаг1. перекладываем башенку поменьше с диска i, оставляя нижний диск, на башню j, используя диск k как промежуточный.
шаг2. перекладываем диск с i на k.
шаг3. перекладываем башенку с j на k, используя i как промежуточный.

остальное додумывай unsure.gif
anton
не принимать за истину, я не спец
Arush
Насколько мне неизменяет память эта задача с решением входила во все советские учебники по программированию smile.gif
Может стоит поискать в интернете? smile.gif
Кстати такие вещи должны быть например на ]]>http://algolist.manual.ru/]]>
smile.gif
Shooroop
Всем привет!
Нужна программа про башни на обьектно ориентированном с++, но не на билдере.
У когоесть или кто может помочь в решении данной проблемы буду признателен!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.