void grafo_orientato(short *matrice, short nodo_corrente, short *nodi_adiacenti, short n_adiacenti, short n_nodi)
{
short i;
for(i=0;i<n_adiacenti;i++)
{
*(matrice+nodo_corrente*n_nodi+nodi_adiacenti[i])=1; //inserisco 1 ai posti corrispondenti ai nodi adiacenti
}
}
questa funzione deve essere chiamata più volte nel main..
In questo modo:
for(i=0;i<n_nodi;i++)
{
printf("\n\nInserire il numero di nodi adiacenti del nodo %d: ",i); //inserisco il numero di nodi adiacenti
fflush(stdin); scanf("%d",&n_adiacenti);
adiacenti=malloc(n_adiacenti); //alloco memoria alla variabile che contiene i nodi adiacenti
for(j=0;j<n_adiacenti;j++)
{
printf("Inserisci il %d^ nodo adiacente del nodo %d: ",j+1,i); //inserisco tutti i nodi adiacenti
fflush(stdin); scanf("%d",&adiacenti[j]);
}
grafo_orientato(matrice,i,adiacenti,n_adiacenti,n_nodi); //chiamo la funzione
}
Spero possa esserti d'aiuto..