Laberinto Recursivo

Iniciado por Sebastian Leiva, 25 Diciembre 2016, 18:59 PM

0 Miembros y 1 Visitante están viendo este tema.

Sebastian Leiva

Hola buenos días a todos y Feliz navidad, les agradecería si me pueden orientar o ayudar con el siguiente ejercicios de arreglos con recursividad, les agradezco mucho la ayuda y disculpen cualquier molestia.

Mi princiapal pregunta es como puedo dar con la función recursiva, porque deberia generar una matriz aleatoria de 1 y 0 , para despues implementar la función.

El ejercicio es el siguiente:

La siguiente cuadrícula de unos y de ceros es un arreglo bidimensional, que representa un "laberinto".

1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 1 0 0 0 0 0 0 1
0 0 1 0 1 0 1 1 1 1 0 1
1 1 1 0 1 0 0 0 0 1 0 1
1 0 0 0 0 1 1 1 0 1 0 0
1 1 1 1 0 1 0 1 0 1 0 1
1 0 0 1 0 1 0 1 0 1 0 1
1 1 0 1 0 1 0 1 0 1 0 1
1 0 0 0 0 0 0 0 0 1 0 1
1 1 1 1 1 1 0 1 1 1 0 1
1 0 0 0 0 0 0 1 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1

Los unos representan los muros del laberinto, y los ceros representan cuadros en las trayectorias posibles a través del mismo.

El algoritmo para caminar a través de un laberinto que garantiza encontrar la salida (suponiendo que una exista), y si no existe salida, se llevará de regreso a la posición inicial es: colocar la mano derecha sobre el muro a la derecha y empezar a caminar hacia adelante, sin retirar nunca la mano de la pared, si el laberinto gira a la derecha, seguir el muro a la derecha. de tal forma se llegará a la salida del laberinto. Pudiera existir una trayectoria más corta de la que se haya tomado pero está garantiza de que se saldrá del laberinto.

Escribir la función recursiva para caminar a través del laberinto, la función deberá recibir como argumentos un arreglo de cualquier ancho y altura, de n por m caracteres, que representa el laberinto, y la posición inicial del laberinto. Conforme la función intenta localizar la salida del laberinto, deberá colocar el caracter x en cada uno de los cuadros de la trayectoria. Y después de cada movimiento la función deberá mostrar el laberinto, para que el usuario pueda observar conforme resuelve el laberinto.

Escribir una función que tiene como argumento un arreglo de n por m y que produzca en forma aleatoria un laberinto. La función también deberá proporcionar las posiciones iniciales y finales del mismo.


Realizar un programa para generar varios laberintos generados al azar, e imprima cada movimiento de los laberintos.