Problema con vuelta atrás

sofia
22 de Septiembre del 2011
Hola, estoy probando un ejercicio de los típicos que hay por internet para aprender a hacer vuelta atrás, en este caso es el del laberinto. Tengo una matriz donde los 0 son caminos válidos y los 1 los no válidos y tengo que llegar al final m[n][n] marcando las casillas por donde paso.

He elaborado un código pero no consigo que funciona correctamente.
¿Alguien podría ayudarme con el tema de la vuelta atrás? aunque haya otros errores o cosas poco eficiente en el código solo me interesa lo relativo a la vuelta atrás, ya que es un código rapido para probarlo.

Aquí les dejo el código, gracias a todos!



// Incluir E/S y Librerías Standard
#include
#include
#include
#include

using namespace std;


// Zona de Declaración de Constantes
// Zona de Declaración de Tipos

const unsigned int fil = 50;
const unsigned int col =50;
typedef int TMatriz[fil][col];
typedef int TVector[4];



// Zona de Cabeceras de Procedimientos y Funciones
char menu();
bool Confirmar();
void Pintar(TMatriz &m);
void Mostrar(TMatriz m);
void MovimientosPos (TVector &mov_fil,TVector &mov_col);
void Laberinto(TMatriz &lab,int k,int fil,int col,TVector mov_col,TVector mov_fil,bool exito);

// Programa Principal
int main()
{
// Zona de Declaración de Variables del Programa principal
char op;
bool salir;

salir = false;

TMatriz lab;
string nom;
TVector f,c;
int fil,col,k;
bool exito;


while(!salir)
{

op = menu();
cout