Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Torres de hanoi usando recursividad en C ¿?

Estas en el tema de Torres de hanoi usando recursividad en C ¿? en el foro de C/C++ en Foros del Web. Utilizando lenguaje C Bueno... lo que pasa es que en un ejercicio de mi libro me lo piden... pero pues no sé cómo hacerlo Alguien ...
  #1 (permalink)  
Antiguo 28/05/2011, 21:07
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años, 6 meses
Puntos: 8
Pregunta Torres de hanoi usando recursividad en C ¿?

Utilizando lenguaje C

Bueno... lo que pasa es que en un ejercicio de mi libro me lo piden... pero pues no sé cómo hacerlo

Alguien me podría dar alguna ayuda... y notese que con ayuda NO me refiero a que me hagan el programa... solamente que me expliquen mejor, me den tips de cómo hacerlo... cosas así...

Aquí está la descripción del ejercicio:

Cita:
Podemos considerar mover los n discos en términos de movimiento de sólo n -1 discos (y por ende la recursividad) de la siguiente manera:

a) Mueva n - 1 discos del asta 1 al asta 2, utilizando el asta 3 como área de almacenamiento temporal.

b) Mueva el último disco (el mayor) del asta 1 al asta 3.

c) Mueva los n - 1, del asta 2 al asta 3, utilizando el asta 1 como área de almacenamiento temporal.

El proceso finaliza cuando la última tarea involucra el movimiento del disco n - 1. Es decir, el caso base. Esto se lleva a cabo mediante la tarea trivial de mover un disco, sin la necesidad del área de almacenamiento temporal.

Escriba un programa para resolver el problema de las Torres de Hanoi. Utilice una función recursiva con 4 parámetros:

a) El número de discos a mover.

b) El asta en el que se encuentran ensartados los discos.

c) El asta a la que se moverán los discos.

d) El asta que se utilizará como área de almacenamiento temporal.

Su programa debe imprimir las instrucciones precisas necesarias para mover los discos desde el asta inicial al asta de destino. Por ejemplo, para mover una pila con 3 discos del asta 1 al asta 3, su programa debe imprimir la siguiente serie de movimientos:

1 -> 3 (Esto significa mover un disco del asta 1 al asta 3).
1 -> 2
3 -> 2
1 -> 3
2 -> 1
2 -> 3
1 -> 3
Espero puedan orientarme un poco...

Muchas gracias, saludos!
  #2 (permalink)  
Antiguo 07/06/2011, 02:17
 
Fecha de Ingreso: enero-2010
Mensajes: 63
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Torres de hanoi usando recursividad en C ¿?

lo primero es entender el problemas de las Torres de Hanoi

mira esto y veras que algo se te ocurre:

http://www.uterra.com/juegos/torre_hanoi.htm

ya despues puedes hacer una pregunta mas puntual para poder ayudarte.

saudo !

Etiquetas: recursividad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:16.