la risposta sta qui
"la allocazione della memoria è una responsabilità del programmatore nel linguaggio C"
certo, questa è la memoria che hai allocato alla strutturaOriginariamente inviato da misterx
mi sa che ci stiamo allontanando dal vero problema.
scrivendo: printf("%d\n",sizeof(G)); mi viene stampato 200 che dovrebbe essere i 50 elementi dichiarati in MAX per 4 byte per struttura.
...
naturalmente perchè nella funzione leggi_grafo gli dici proprio di stampare il valore che gli hai dato in input (anche se sbagliato). Come ti ho detto dovresti inserire nella funzione leggi_grafo unaDigitando alla richiesta:
printf("Numero di vertici: ");
200
assert(n < MAX);
ciao
sergio