![]() |
Pages (16): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- [Algoritmi e strutture dati - Torelli] Progetto 6 aprile (http://www.dsy.it/forum/showthread.php?threadid=9969)
grazie! provo!
__________________
Sometimes you hurt the ones who love you most and sometimes you hold the ones who leave you lost,
and sometimes you learn
but its too late, it's too late. EI
Ciao io per leggere l'input ho usato un semplice do while.Ho dichiarato prima una variabile char ch e prima di entrare nel ciclo do while la inizializzo con una getchar().Poi ho utilizzato uno switch per distinguere i vari casi.Continuo così fino a quando ch != 'q' && ch != 'Q'.
Esempio
int a,b,c,d,x,y;
char ch;
ch = getchar();
do {
switch ( ch ) {
case 'f': case 'F':
scanf ( "%d%d%d%d%d%d", &a,&b,&c,&d,&x,&y);
if ( cerca ( q,a,b,c,d ) == NULL ) {
q = inserisci(a,b,c,d,x,y );
break;
......
......
default:
break;
}
ch = getchar();
}while ( ch != 'q' && ch != 'Q' );
}
La variabile q e' un puntatore alla lista vuota.Io sto realizzando il progetto con le liste di Adiacenza.
Spero di essere stato d'aiuto.
Ciao ciao Tom80
Originally posted by loreste
Per Tom80
Per quanto riguarda il calcolo del piano devi fare una funzione ricorsiva, elimini tutti i nodi con zero figli, quando arrivi al filtro che ti interessa esci dal ciclo, nel frattempo incrementi un contatore, il numero risultante e il grado del filtro.
Ciao
Scusa la mia ignoranza, ma cosa sono le liste di adiacenza????
Io conosco solo liste monodirezionali, bidirezionali e con sentinella.
Io ho usato una lista monodirezionale.
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
è un modo per rappresentare un grafo sul calcolatore.
Vedi il capitolo sui grafi (Cormen), ci sono un paio di esempi.
Se qualcuno avesse finito ed avesse voglia di confrontare i vari algoritmi, mi faccia sapere....
Io ho utilizzato una lista, se qualcuno che ha preso questa strada e vuole una mano me lo dica.
In bocca al lupo a tutti.
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Per Loreste
Ciao, anche io sto utilizzando delle liste. Ho qualche problema per il calcolo del grado del piano, mi sembra di avere complicato un po le cose. Hai qualche consiglio da darmi? Se vuoi sapere come sto procedendo io ti manderò un messaggio. Ciao Grazie
Per mitnik
Ti ho mandato un PM
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Originally posted by loreste
Se qualcuno avesse finito ed avesse voglia di confrontare i vari algoritmi, mi faccia sapere....
Io ho utilizzato una lista, se qualcuno che ha preso questa strada e vuole una mano me lo dica.
In bocca al lupo a tutti.
Siccome sto ricevendo diversi PM per il calcolo del grado vi spiego come ho fatto (però non garantisco che sia l'ipotesi migliore, tutto è migliorabile)
Creo una lista d'appoggio dove inserisco tutti i figli del filtro e ricorsivamente elimino tutti i filtri con zero figli, e metto a 1 un contatore, vado avanti ricorsivamente finchè non ho più figli, a quel punto guardo quanto vale il contatore.
Per quanto riguarda il gradopiano, richiamo la funzione grado per tutti i filtri, guardo qual'è il filtro con grado maggiore (es. 4)aggiungo 1 ed avrò 5 che è il mio gradopiano.
Sto pensando,se siete interessati, di essere in università domani (15 aprile) per le 18 con il mio notebook, per darvi maggiori informazioni, però fatemi sapere.
Naturalmente ci sarò solo se almeno uno mi risponde che è interessato
CHE SIA CHIARO NON FARO' COPIARE A NESSUNO, VI DO SOLO DELLE DRITTE.
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Originally posted by loreste
Siccome sto ricevendo diversi PM per il calcolo del grado vi spiego come ho fatto (però non garantisco che sia l'ipotesi migliore, tutto è migliorabile)
Creo una lista d'appoggio dove inserisco tutti i figli del filtro e ricorsivamente elimino tutti i filtri con zero figli, e metto a 1 un contatore, vado avanti ricorsivamente finchè non ho più figli, a quel punto guardo quanto vale il contatore.
Per quanto riguarda il gradopiano, richiamo la funzione grado per tutti i filtri, guardo qual'è il filtro con grado maggiore (es. 4)aggiungo 1 ed avrò 5 che è il mio gradopiano.
Sto pensando,se siete interessati, di essere in università domani (15 aprile) per le 18 con il mio notebook, per darvi maggiori informazioni, però fatemi sapere.
Naturalmente ci sarò solo se almeno uno mi risponde che è interessato
CHE SIA CHIARO NON FARO' COPIARE A NESSUNO, VI DO SOLO DELLE DRITTE.
Per loreste.
Considera il caso:
Dati questi filtri
A (1,1,8,10)
B(1,1,4,4)
C(1,1,2,2)
D(4,2,7,4)
E(5,3,6,4)
F(3,5,8,9)
G(4,6,7,8)
Voglio trovare il grado di A ( che è 2)
Con la tua procedura
metto come figli
A-B-C-D-E-F-G
tolgo quelli senza figlio
rimane
A-B-D-F
Se li conto sono 3 e se il puntatore parte da 1 mi da 4.
Magari ho capito male la procedura.....scusa se mi metto a fare l'avvocato del diavolo , ma meglio io che il prof ;-)
ciao
Sono contento quando ci sono gli avvocati del diavolo, perchè ho la possibilità di testare meglio il mio progetto, nel caso proposto da Stanky il mio progetto da come grado di A = 2 percui è giusto e ho tirato un sospiro di sollievo.
Però forse non sono stato chiaro.
Nell'esempio di Stanky se vuoi trovare il grado di A, perche mi dici che metti come figlio A??????
1)A NON è figlio di A
2)Cancello tutti i figli di A che non hanno Figli (C -E G)
3)Metto un contatore a 1
4)Ora (se fate una procedura ricorsiva) i figli rimasti sono (B D E)
5)Cancello tutti i figli di A che non hanno figli (B D E)
6)Il contatore vale 2
7)La lista dei figli ora è NULL ed esco dalla funzione
8)IL GRADO DI A = 2
Spero di essere stato più chiaro, cmq sono ben richiesti gli avvocati del diavolo, come giustamente dice Stanky meglio voi che il prof!
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
metto un test!
INPUT:
s 3 5
f 7 7 9 9 2 3
f 5 8 6 10 7 5
f 5 5 11 10 1 0
f 4 4 12 11 1 7
f 8 13 11 15 6 1
f 7 12 12 15 3 4
f 4 14 5 15 1 1
f 3 13 5 15 7 10
f 3 2 14 15 4 5
f 13 14 99 99 0 0
g 7 7 9 9
p 8 8
p 8 3
i 7 7 9 9 8 13 11 15
g 3 13 5 15
e 3 13 5 15
g 3 13 5 15
i 7 7 9 9 8 13 11 15
g 7 12 12 15
f 14 2 15 5 1 1
p 14 4
G
OUTPUT
(13, 14, 99, 99) non inseribile
0
1 2
1 0
(3, 4, 12, 15)
1
(4, 4, 12, 15)
1
2 1
4
Fatemi sapere se vi vengono gli stessi risultati!
__________________
Federazione
Imbroglioni
Giuoco
Calcio
Ok!!!|
Ho passato il test di Moffone.
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
All times are GMT. The time now is 15:39. | Pages (16): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show all 234 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.