Hannio

Solo disponible en BuenasTareas
  • Páginas : 4 (776 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de noviembre de 2011
Leer documento completo
Vista previa del texto
TORRES DE HANOI

#include
#include
#include
#include
#include
#include
#include
//-----------------------------------------------------------------------------
struct HANOI
{
inttope;
int disco[10];
};
//-----------------------------------------------------------------------------
// INICIALIZAR PILA//-----------------------------------------------------------------------------
void inicializar(struct HANOI *pila )
{
int i;
pila->tope = 0;
for (i=0 ; idisco[i]=0;
}
//-----------------------------------------------------------------------------
//EMPEZAR
//-----------------------------------------------------------------------------
void empezar(int n, struct HANOI *pila )
{
int y;
int i;
y=n;
for(i=0 ; idisco[pila->tope] =y; pila->tope++;y--;
}
}
//-----------------------------------------------------------------------------
void imprimir(int n,struct HANOI *pila1 , struct HANOI *pila2, struct HANOI *pila3 )
{clrscr();
int y=17;
int cont1=0;
int cont2=0;
int cont3=0;
char a=219;
int x1=5;
int x2=30;
int x3=55;
for (int i=0; idisco[cont1] ; k++)
{
couttope)-1;
x='2';imprimir(n,pila1,pila2,pila3);
cuenta_mov++;
break;

case '2':
pila3->disco[pila3->tope]=pila2->disco[(pila2->tope)-1];
pila2->disco[(pila2->tope)-1]=0;pila3->tope=(pila3->tope)+1;
pila2->tope=(pila2->tope)-1;
x='3';
imprimir(n,pila1,pila2,pila3);
cuenta_mov++;
if ( pila3->tope == n )
{
gotoxy(37,20);couttope)-1]=0;pila1->tope=(pila1->tope)+1;
pila3->tope=(pila3->tope)-1;
x='1';
imprimir(n,pila1,pila2,pila3);
cuenta_mov++;
break;
};
char aux=x;
switch(aux)
{
case '1':if((pila2->disco[(pila2->tope)-1] < pila3->disco[(pila3->tope)-1]) || pila3->tope == 0)
{
pila3->disco[pila3->tope]=pila2->disco[(pila2->tope)-1];
pila2->disco[(pila2->tope)-1]=0;...
tracking img