Programación General > C/C++

 interpretacion de funcion

(1/2) > >>

Nova05:
weno, tengo este programa que representa el juego de la torre de hanoi... el cual muestra las posiciones de cada disco a X torre para poder ganar.. le entiendo un poco pero kisiera la interpretacion de uds para ampliar mi explicacion y teoria (lo tengo ke exponer)... les dejo el codigo:

si no saben de cual juego es lo encuentran en wikipedia :D


#include<stdio.h>
#include<conio.h>

int hanoi(int n,int com, int aux, int fin);


void main(){

        clrscr();
   char com='A';
   char aux='B';
   char fin='C';
   int n;
    printf("::TORRES DE HANOI::n");

   printf("nNumero de discos: ");
   scanf("%d",&n);


   printf("nnLos movimientos a realizar son: nn");
  hanoi(n,com,aux,fin);


   getch();
}

int hanoi(int n,int com, int aux, int fin){

   if(n==1){
      printf(" disco en torre %c pasa a torre %c",com,fin);
   }
   else{
      hanoi(n-1,com,fin,aux);
      printf("n disco en torre %c pasa a torre %cn",com,fin);
      hanoi(n-1,aux,com,fin);
   }
}

Nova05:
o mas bn como funciona esta parte de la funcion:  


hanoi(n-1,com,fin,aux);
printf("n disco en torre %c pasa a torre %cn",com,fin);
hanoi(n-1,aux,com,fin);

m0skit0:
Eso se llama recursividad

Nova05:
oo sii, eso ya lo sabia... pero como es ke trabaja esta funcion al mandarla llamar...o como le hace para cambiar las posiciones..

m0skit0:
¿Entonces lo sabes o no lo sabes?  ^_^  Hazle un seguimiento manual (da valores a las variables de entrada y ve siguiendo el código) o depúrala, así lo ves tú mismo  ;)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa