Algoritmo di costruzione Matrice di adiacenze

di Anonimizzato8939 il
4 risposte
Salve ragazzi dovrei costruire una matrice di adiacenze partendo da in grafo non ordinato...solo che non sò proprio come impostare l'algoritmo, potreste darmi una mano??

4 Risposte

  • Ma io dovrei farlo con matrice non con la lista dinamica....e poi lì è in c++, io sono in ambiente c
  • Vabbè grazie lo stesso
  • 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..
Devi accedere o registrarti per scrivere nel forum
4 risposte