Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    12

    [C#] matrice di adiacenza

    Ciao, mi potreste aiutare per piacere? Devo progettare una matrice di adiacenza. Il codice che ho scritto e il seguente:

    codice:
        public class AdjacencyMatrix: Graph
        {
    
            protected ArrayList matrix;
            private EA.Repository modelRepository; // progetto EA corrente
    
            public AdjacencyMatrix(EA.Repository repository)
            {
                
                for (int i = 0; i < nodeList.Count; i++) //inizializzare le righe della matrice
                {
                   matrix.Add(new ArrayList());
    
                    for (int j=0; j< nodeList.Count; j++)
                    {
                        ((ArrayList)matrix[i]).Add(new ArrayList());
                    }
    
                }
                            
                //inizializzazione dei nomi delle classi
                for (int i = 0; i < matrix.Count; i++)
                {
                    if (i == 0)
                    {
                        ((ArrayList)this.matrix[i]).Add("");
    
                        foreach (Node node in nodeList)
                        {
                            ((ArrayList)matrix[i]).Add(node.className);
                        }
                    }
    
                    //inizializzazione dei valori della matrice
                    for (int j = 1; j < ((ArrayList)matrix[i]).Count; j++)
                    {
                        for (int k = 1; k < ((ArrayList)((ArrayList)matrix[i])[j]).Count; k++)
    
                            ((ArrayList)((ArrayList)matrix[i])[j])[k] = 0;
                    }
                }
    
                //definizione dell'esistenza del link
                foreach (Link link in linkList)
                {
                    for (int i = 0; i < matrix.Count; i++)
                    {
                        if (link.startNodeId.Equals((String)matrix[0]))
                        {
                            for (int j = 1; j < ((ArrayList)matrix[i]).Count; j++)
                            {
                                if (link.endNodeId.Equals((String)((ArrayList)matrix[0])[j]))
                                {
                                    ((ArrayList)matrix[0])[j] = 1;
                                    break;
                                }
                            }
                        }
                    }
                }
            }     
        }
    }
    dove i nodelist e linklist, sarebbero i nodi e i link di mio interesse, nel mio caso i nodi soltanto le classi, componenti e package all'interno di un diagramma UML e i link solo di un certo tipo.
    Andrebbe bene il codice scritto cosi?

    Grazie mille per l'aiuto.
    defi

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Usa il tag [CODE] per formattare il codice, come richiesto dal Regolamento.

    In questo caso ho modificato io il tuo messaggio per renderlo leggibile.
    In futuro, provvedi tu.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.