![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=259)
-- [Capra] Progetto (http://www.dsy.it/forum/showthread.php?threadid=24088)
[Capra] Progetto
Qualcuno ha qualche delucidazione sul progetto???
a me nn risulta molto chiaro...
tutti che leggono e nessuno che scrive???
ho letto il testo...
ti chiede semplicemente di gestire un "insieme" di nodi ad ogni nodo è associato l'indice di una matrice di incidenza, nell'indice vengono memorizzate le associazioni con gli atrli nodi:
esempio
MATRICE
boolean[3][3] matrice;
all'indice boolean[0] avrai un array di boolean che descrivono l'associazione del nodo "0" con i nodi corrispondenti all'indice
matrice[0][0] associazione nodo0 , nodo0
matrice[0][1] associazione nodo0, nodo1
matrice[0][2] associazione nodo0, nodo2
matrice[1][0] associazione nodo1, nodo0
....
e così via
le associazioni sono gli archi quindi se matrice[0][1] == true allora (nodo0,nodo1) ha un arco
dafth...
da quanto ho capito tu consigli di usare come struttura per memorizzare i nodi un insieme che potrai distinguere grazie all'identificatore che assegnerai a ciascun nodo tramite la classe Element fornita dal prof.
Ha senso quello che ho scritto, vero?...non accetto risposte negative ;-)
si tieni presente che ha dato anche l'implementazione della classe Nodo che estende ELement, quindi credo che voglia che venga usata la
classe interna
ok, infatti quello che ho fatto io è stato chiamare il costruttore di Element all'interno del costruttore del nodo...
Una volta fatto questo userò i metodi della claase Insieme del pighizzi per aggiungere, fare disfare confrontare...
thanks for all....
il costrutore senza senza parametri Element() viene richiamato automaticamente nel costruttore Node()
stavo appena scrivendo la correzione che hai fatto tu...
chiedo venia x l'ignoranza
cmq non era un errore
il mio problema principale(Dato credo dalla mia ignoranza in materia), e che il costruttore graph ha come argomento un array di array boolean.come posso io con un oggetto del genere ad aggiungere/rimuovere nodi/archi?
una volta che ho inizializzato l'array di array
boolean[][] matrice= new boolean[i][j],posso aggiungere un i e un j a questo array??? ( che domanda da n00b...)
Xander anch'io non sono un darago in materia...cerco d'arrabattarmi (arrangiarmi) in qualche modo...
cmq nel costruttore della graph ho usato due cicli for innestati per controllare che non vengano creati archi entranti e uscenti dallo e nello stesso nodo (ho compreso inoltre un if per controllare le posizioni uguali); esmpio:
j
i [t][f] in pratica con la variabile i di un ciclo for controllo le righe,
[f][f] con la variabile j dell'altro ciclo for controllo le collonne
mentre con l'if controllo : if (incidence_matrix [i][j] == true) sollevami l'eccezione IncorretGraphDescription.
poi sempre nel costruttore ho usato altri due cicli for:
uno per creare i nodi (aggiungendoli ad un insieme di nodi) della matrice:
(for (int = 0; i < incidence_matrix[o].length, i++){
Node nuovoNodo = new Node ();
nodi.add (nuovoNodo)
//"nodi" è l'insieme di nodi che ho creato
}
l'altro ciclo for l'ho usato per creare l'insieme degli archi.
Spero di non averti incasinato ulteriormente con dei ragionamenti che magari non hanno nè capo nè coda...per adesso però mi è venuto in mente di farlo così...
hai provato a compilarlo?
si ho provato a compilarlo eppure con successo...il fatto che non sono riuscito a creare una classe di test ottima per vericare se quel poco che ho fatto funziona correttamente...
nella classe di test ho controllato solamente la correttezza dei cicli for usati per scandire la matrice in input al costruttore della classe Graph.
per adesso spero
vai a vedere i pm
ho un problema...
quando invoco il costruttore della classe Graph costruisco sia nodi sia archi.
per i nodi nessun problema.
ma per quanto riguarda gli archi come faccio a costruirli passando come parametri 2 nodi (sorgente e destinazione), visto che comunque uso come parametro una matrice di boolean ed inoltre non idea di come andare a reperire il nodo creato da una determinata casella della matrice
esempio:
j
i [f][t]
[f][f]
come faccio ad indicare nella creazione dell'arco che il nodo sorgente è quello corrispondente alla posizione i=0, mentre quello di destinazione è quello corrispondente alla posizione j=1?;
spero di essere stato chiaro nella complessità del problema e di essermi spiegato.
cmq qualsiasi idea è ben accetta.
grazie
All times are GMT. The time now is 02:34. | Pages (2): [1] 2 » Show all 28 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.