Código:
Incluso imprimo la respuesta del usuario cuando pregunta si de tal nodo a tal nodo hay camino y no solo eso, sino que cargo el arreglo bidimensional y lo imprimo ahi mismo junto con la respuesta del usuario, pero aun asi cuando intento imprimir nuevamente el arreglo en el for que está abajo, imprime de forma totalmente diferente. No sé qué pasa a ver si me dan una mano. Desde ya gracias por su tiempo. Saludos. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #include <string.h> int main(){ clrscr(); int i, a, cant, **p; char *c, resp='s'; printf("Cantidad de nodos del grafo: "); scanf("%d", &cant); p=(int **)calloc(cant, sizeof(int*)); c=(char *)calloc(cant, sizeof(char)); if(c != NULL){ /*Aqui se introducen todos los nodos pegados, o sea sin usar espacios entre ellos */ printf("\nIntroduzca todos los nodos en mayuscula: "); scanf("%s", c); if(strlen(c) > cant){ printf("\nCantidad de nodos fuera de limite"); } else{ for (i=0; i<cant; i++){ for (a=0; a<cant; a++){ printf("\nHay camino de %c a %c s/n: ", c[i], c[a]); fflush(stdin); scanf("%c", &resp); printf("%c", resp); if (resp == 's' || resp == 'S'){ p[i][a] = 1; printf("%d", p[i][a]); } else{ p[i][a] = 0; printf("%d", p[i][a]); } } printf("%s", "\n"); } for (i=0; i<cant; i++){ for (a=0; a<cant; a++){ printf("%d", p[i][a]); } printf("%s", "\n"); } } } else{ printf("\nNo hay espacio en memoria"); } free(c); free(p); getch(); return 0; }