Torres de hanoi en c++

5:41 p.m. Unknown 0 Comments


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:
  1. Sólo se puede mover un disco cada vez.
  2. Un disco de mayor tamaño no se puede colocar encima de uno más pequeño.
  3. 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: