Código de C/Visual C - Torres de Hanoi con función recursiva

sin imagen de perfil

Torres de Hanoi con función recursivagráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(9)
Publicado el 1 de Noviembre del 2005 por Diana Benavides
80.943 visualizaciones desde el 1 de Noviembre del 2005
Código recursivo, que dado un número de discos, muestra los movimientos a realizar.
Probado en Turbo C++ 3.0

Versión 1
estrellaestrellaestrellaestrellaestrella(9)

Publicado el 1 de Noviembre del 2005gráfica de visualizaciones de la versión: Versión 1
80.944 visualizaciones desde el 1 de Noviembre del 2005
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <conio.h>
 
void hanoi(int n,int com, int aux, int fin);
 
void main(void){
 
        clrscr();
	char com='A';
	char aux='B';
	char fin='C';
	int n;
 
	printf("\nN£mero de discos: ");
	scanf("%d",&n);
	fflush(stdin);
 
	printf("\n\nLos movimientos a realizar son: \n");
	hanoi(n,com,aux,fin);
}
 
void hanoi(int n,int com, int aux, int fin){
 
	if(n==1){
		printf("%c->%c",com,fin);
	}
	else{
		hanoi(n-1,com,fin,aux);
		printf("\n%c->%c\n",com,fin);
		hanoi(n-1,aux,com,fin);
	}
}



Comentarios sobre la versión: Versión 1 (9)

2 de Febrero del 2006
estrellaestrellaestrellaestrellaestrella
simple pero la funcion Hanoi te sirve para comprenderlo. GRACIAS
Responder
9 de Mayo del 2007
estrellaestrellaestrellaestrellaestrella
Muy bueno, felcitaciones y gracias
Responder
6 de Junio del 2007
estrellaestrellaestrellaestrellaestrella
Muy bueno
Responder
30 de Octubre del 2008
estrellaestrellaestrellaestrellaestrella
NO SIRVE PARA C++ Y TODAVIA ESTAS ANTICUADO.. HASLO CON COUT EN VEZ DE PRINT F
Responder
Ray
8 de Marzo del 2018
estrellaestrellaestrellaestrellaestrella
Es enserio tu comentario o es sarcasmo?
Responder
5 de Septiembre del 2010
estrellaestrellaestrellaestrellaestrella
en realidad esta en c y ese codigo no sirve tendrias ke modificarle cosas me kedo algo asi pruebalo solo ke sigue teniendo errores pues no me imprime el resultado :´(
Responder
23 de Mayo del 2012
estrellaestrellaestrellaestrellaestrella
Excelente para comprender este problema. Muchas gracias por el aporte.
Saludos
Responder
20 de Junio del 2012
estrellaestrellaestrellaestrellaestrella
Muy buena solucion, ignora los comentarios de los retrasados.

Para aquellos que quieran compilarlo con g++ o similares.

#include <iostream>
using namespace std;

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

int main(){

char com = 'A';
char aux = 'B';
char fin = 'C';
int n;

cout << "Numero de discos: ";
cin >> n;

cout << "Los movimientos a realizar son:" << endl;
hanoi(n,com,aux,fin);
cin >> n;
return 0;
}

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

if(n==1)
cout << com << " -> " << fin << endl;
else
{
hanoi(n-1,com,fin,aux);
cout << com << " -> " << fin << endl;
hanoi(n-1,aux,com,fin);
}
}

Asi seria en c++ con los aclamados cout...

Un saludo.
Responder
24 de Mayo del 2013
estrellaestrellaestrellaestrellaestrella
Muy bueno! :D
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1260