Algoritmo di costruzione Matrice di adiacenze

di
Anonimizzato8939
il
4 risposte

Algoritmo di costruzione Matrice di adiacenze

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

  • Re: Algoritmo di costruzione Matrice di adiacenze

    Fai una ricerca. se ne è già parlato.

    https://www.iprogrammatori.it/forum-programmazione/cplusplus/nuovo-problema-lista-puntatore-t10786.html#p8468921
  • Re: Algoritmo di costruzione Matrice di adiacenze

    Ma io dovrei farlo con matrice non con la lista dinamica....e poi lì è in c++, io sono in ambiente c
  • Re: Algoritmo di costruzione Matrice di adiacenze

    Vabbè grazie lo stesso
  • Re: Algoritmo di costruzione Matrice di adiacenze

    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