Como hacer un grafo con matriz de adyacencia en C , ojala lo mejor explicado posible , gracias .
Respuestas
Codigo:
#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;
}