Código
#include <stdio.h> #include <stdlib.h> #define TRUE 1 #define FALSE 0 int filas, columnas; int num = 0; int V; int ** Grafo; /****************************************************Firmas********************************************************************/ void Imprimir(); int Modificar(); int **DaMemoriaGrafo(); /*Fin firmas*/ void Lectura(){ FILE *Archivo; int i,j; //Filas,Columnas int fil = -1; int col = -1; int salf = -1; // Coordenadas S int salc = -1; // Coordenadas S char c; int **Laberinto; char **Aux; //printf("%d %d",filas,columnas); V = filas + columnas; for(i = 0; i<filas; i++){ } for(i = 0; i<filas; i++){ } Grafo = DaMemoriaGrafo(V); // se for(i = 0; i<filas; i++){ for(j = 0; j<columnas; j++){ Aux[i][j] = c; if(c == '#'){ //Convertimos la matriz en 0 y 1. Laberinto[i][j] = -1; //1 si es una pared. }else{ Laberinto[i][j] = 0; //0 si es un espacio vacio. } if(c == 'E'){ //Recuperamos la posicion de la entrada. fil = i; col = j; } } } if((fil == -1)&&(col == -1)){ } Imprimir(Laberinto); Modificar(Laberinto); Crear_grafo(V,Laberinto,Grafo); Imprimir(Laberinto); } void Imprimir(int** Laberinto){ int i,j; for(i = 0; i<filas;i++){ for(j = 0; j<columnas;j++){ } } } int Modificar(int** Laberinto){ int i,j; for(i = 0; i<filas;i++){ for(j = 0; j<columnas;j++){ if(Laberinto[i][j] == 0){ Laberinto[i][j] = num; num++; } } } } int Crear_grafo(int V, int ** lab, int ** Grafo){ int i, j, id = 0; for(i = 1; i<V; i++){ for(j = 1; j<V; j++){ Grafo[i][j] = 0; /*if(lab[i][j] > id || lab[i+1][j] > id || lab[i][j+1] > id || lab[i-1][j] > id || lab[i][j-1] > id){ Grafo[i][j] = 1; Grafo[j][i] = 1; id++;*/ } } } } int **DaMemoriaGrafo(int n){ int **aux; int i; if (!aux) { } for(i=0;i<n;i++) { if (!aux[i]) { } } return aux; } int main(){ Lectura(); return 0; }