Torres de hanoi en c++
El juego consiste en tres
varillas verticales. En una de ellas están apiladas un número de discos, generalmente
ocho, de diámetros diferentes, ordenados de mayor a menor (el de mayor diámetro
abajo). Las otras dos varillas están vacías. El juego consiste en pasar todos
los discos de la varilla ocupada a una de las varillas libres.
Reglas:
- Sólo se puede mover un disco cada vez.
- Un disco de mayor tamaño no se puede colocar encima de uno más pequeño.
- Sólo se puede mover el disco que se encuentre en la parte superior de cada varilla.
Código
#include <conio.h>
#include <iostream>
using namespace std;
void torres_foca(int,int,int,int);
main(){
int a;
cout<<"Torres de Hanoi\n\n"<<endl;
cout<<"Ingresa el numero de discos : \t";
cin>>a;
torres_foca(a,1,3,2);
getch();
}
void torres_foca(int foca,int uno,int tres,int dos){
if(foca==1){
cout<<"Disco : "<<foca<<" del poste "<<uno<<" al poste "<<tres<<endl;
getch();
}
else{
torres_foca(foca-1,uno,dos,tres);
cout<<"Disco : "<<foca<<" del poste "<<uno<<" al poste "<<tres<<endl;
getch();
torres_foca(foca-1,dos,tres,uno);
}
}


0 comentarios: