Ханойские башни

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

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

#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 как промежуточный.

остальное додумывай :P
 
Насколько мне неизменяет память эта задача с решением входила во все советские учебники по программированию :)
Может стоит поискать в интернете? :)
Кстати такие вещи должны быть например на
:D
 
Всем привет!
Нужна программа про башни на обьектно ориентированном с++, но не на билдере.
У когоесть или кто может помочь в решении данной проблемы буду признателен!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!