SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Nova05 en Viernes 18 de Marzo de 2011, 01:07

Título: interpretacion de funcion
Publicado por: Nova05 en Viernes 18 de Marzo de 2011, 01:07
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);
   }
}
Título: Re: interpretacion de funcion
Publicado por: Nova05 en Viernes 18 de Marzo de 2011, 04:22
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);
Título: Re: interpretacion de funcion
Publicado por: m0skit0 en Viernes 18 de Marzo de 2011, 08:16
Eso se llama recursividad (http://www.lcc.uma.es/~lopez/modular/recursion/transp_recursion.pdf)
Título: Re: interpretacion de funcion
Publicado por: Nova05 en Viernes 18 de Marzo de 2011, 17:26
oo sii, eso ya lo sabia... pero como es ke trabaja esta funcion al mandarla llamar...o como le hace para cambiar las posiciones..
Título: Re: interpretacion de funcion
Publicado por: m0skit0 en Viernes 18 de Marzo de 2011, 19:51
¿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  ;)
Título: Re: interpretacion de funcion
Publicado por: Nova05 en Viernes 18 de Marzo de 2011, 23:47
creeme k ya lo hice..y es lo ke me saka de onda...xk al acerlo a mano me sale todo raro.. :(