.dsy:it. Pages (2): [1] 2 »
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)


Posted by livio_82 on 02-04-2004 00:50:

[Algoritmi e strutture dati - Torelli] Progetto 6 aprile

Pronti?
Mi metto apripista per questo argomento che sicuramente avrà un seguito enorme =)

Speriamo che sia la volta buona...


Posted by Dante on 02-04-2004 14:21:

Concordo...

Speriamo!!!


Posted by eugenio_2 on 02-04-2004 15:53:

Re: [Algoritmi e strutture dati - Torelli] Progetto 6 aprile

Originally posted by livio_82
Pronti?
Mi metto apripista per questo argomento che sicuramente avrà un seguito enorme =)

Speriamo che sia la volta buona...


E' molta la gente bocciata al progetto di solito?


Posted by livio_82 on 03-04-2004 00:10:

risposta a [Algoritmi E Strut...] Progetto 6 aprile | PLS MOVE

non credo sia una questione di bocciatura.
Diciamo che molti non arrivano ad avere un progetto funzionante, quindi:
a) non consegnano
b) consegnano e viene cestinato senza esser valutato

ai posteri le conclusioni


Posted by loreste on 03-04-2004 10:07:

Io faccio il programmatore da 4 anni ma sono MOLTO preoccupato per il progetto.
Sono dell'idea cmq che se ci diamo una mano a vicenda riusciamo a farlo.


Per Livio 82 mi hai copiato il logo:D
Cmq Sempre Atalanta!!!

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Moffone on 03-04-2004 20:14:

volevo farlo paritre io questo TD! :cry:
Vabbè... martedì mattina si scatenerà il putiferio!!!!!!!!

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by t3mp0 on 05-04-2004 12:37:

Prepariamoci al progetto
:]


Posted by loreste on 06-04-2004 09:44:

Dovrebbe essere questione di minuti per l'uscita del progetto, e i miei nervi stanno saltando:twisted:

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Bloody on 06-04-2004 09:53:

non andiamo in panico prima del tempo....
andiamoci dopo che almeno ce ne sara' una buona ragione!
su un bel respiro profondo!!

__________________
I don't care if you're black, white, straight, bisexual, gay, lesbian, short, tall, fat, skinny, rich or poor. If you're nice to me, I'll be nice to you. Simple as that.


Posted by recoil on 06-04-2004 10:40:

http://homes.dsi.unimi.it/~fiorenti...iltriPolari.pdf

buon divertimento


Posted by Polo on 06-04-2004 10:57:

me sembra molto simile all'altro se non fosse per l'inviluppo e i segnali...


Posted by pincopallino on 06-04-2004 12:02:

Originally posted by Polo
me sembra molto simile all'altro se non fosse per l'inviluppo e i segnali...


....e la polarità....=D

cmq leggendolo mi sono già venuti i primi dubbi.....

__________________
"Che ne sai di un ragazzo che ti amava
che parlava e niente sapeva
eppur quel che diceva chissà perchè‚ chissà adesso è verità."


Posted by Polo on 06-04-2004 12:18:

...si esattamente gli stessi dello scorso progetto :
- che struttura usare per memorizaare i filtri

e nuovi :
- che algoritmo usare per calcolare MCD

Cmq mi sembra che il proff abbia dato + aiuti tra le righe del testo
anche perchè non penso che siano stati tanti a passare lo scorso progetto


Posted by Moffone on 06-04-2004 12:36:

L' algoritmo dell' MCD viene spiegato nel paragrafo 33.2 del libro!

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Tosh on 06-04-2004 14:19:

Non ho ancora letto attentamente il testo del progetto, ma sembra avere qualcosa in comune con il progetto precedente: non è che qualcuno che ha passato l'ultimo progetto e che quindi, magari, ha fatto anche l'orale può postare due righe sulla soluzione più adatta a quel progetto e sul perchè della soluzione? Se sapete di qualcuno che sa e tace, fate un'opera buona, convincetelo a condividere i frutti della sua esperienza con noi. :-)


Posted by Drake83 on 06-04-2004 14:28:

Originally posted by Tosh
Non ho ancora letto attentamente il testo del progetto, ma sembra avere qualcosa in comune con il progetto precedente: non è che qualcuno che ha passato l'ultimo progetto e che quindi, magari, ha fatto anche l'orale può postare due righe sulla soluzione più adatta a quel progetto e sul perchè della soluzione? Se sapete di qualcuno che sa e tace, fate un'opera buona, convincetelo a condividere i frutti della sua esperienza con noi. :-)



ciao! premetto ke nn ho letto il testo del nuovo progetto ma se ti puo' aiutare posto come ho fatto il progetto "filtri": ho usato un albero rb x salvare e gestire i filtri mentre x il calcolo delle distorsioni ho usato liste linkate doppiamente.il mio progetto funzionava e mi ha dato 27.

:ciao:


Posted by mitnik on 06-04-2004 16:15:

Ma che tipo di controlli hai fatto per verificare il grado di annidamento? Hai dovuto usare una struttura dati di supporto per memorizzare il rettangoli? Help

Non ho ben capito come trovare l'inviluppo,perchè il rettangolo tratteggiato è l'inviluppo di D ed F. Non era sufficiente un rettangolo con il vertice alto a sx corrispondente con quello di D e il vertice basso a dx corrispondente con quello di F?


Posted by t3mp0 on 06-04-2004 16:46:

no xchè il rettangolo devi anche ipotizzare di inserirlo ... quindi per le regole 1,2,3, nn puoi ... esattamente xchè nella 3 dice che I={v} .......

almeno ... a me pare così


Posted by Polo on 06-04-2004 17:36:

ma non puo essere postato codice nemmeno dello scorso progetto ??


Posted by Benjamin on 06-04-2004 18:09:

Non ho letto il testo ma rispondo alla domanda su quale era la soluzione migliore per il prog scorso!

(l'ho chiesto direttamente ad ad Aguzzoli)
Albero Bilanciato (Rb o altri se ne conoscete) per rappresentare i filtri e liste per rappresentarne il grado di annidazione!
Quindi una specie di giusto mix delle due!

Se volete prendere un bel voto pensate bene alla progettazione e alle strutture dati da usare...è sicuramente la parte importante del progetto! Se funziona meglio!
(Io l'ho discusso con Aguzzoli non so se vale l'ho stesso per chi lo fa con l'assistente di Torelli!)


Posted by Skanky on 06-04-2004 18:17:

ciao, non riesco a capire una cosa.

Nell'esempio di input e output l'ultima riga di out put è 2 e dovrebbe corrispondere all' ultima G (grado piano).
Pero' dopo le varie cancellazioni di filtri a me il grado del piano risulta 1 visto rimangono 3 filtri isolati
Che ne dite mi sto sbagliando?


Posted by paletta on 06-04-2004 20:14:

Usare gli alberi bilanciati ok.... ma cosa usare come chiave??


Posted by loreste on 07-04-2004 08:20:

Vorrei capire una cosa, se salvo i filtri in un albero binario (di ricerca o Rb) il primo filtro che inserisco è la radice, quando arrivano i filtri successivi in base a cosa decido se metterlo a sx o a dx :?
Grazie

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by sonica on 07-04-2004 09:41:

Originally posted by Skanky
ciao, non riesco a capire una cosa.

Nell'esempio di input e output l'ultima riga di out put è 2 e dovrebbe corrispondere all' ultima G (grado piano).
Pero' dopo le varie cancellazioni di filtri a me il grado del piano risulta 1 visto rimangono 3 filtri isolati
Che ne dite mi sto sbagliando?


anche a me sembra che sia 1 anzichè 2, qualcun altro può correggerci?

__________________
I really love your peaches,
wanna shake your tree...

The Joker - Steve Miller Band


Posted by recoil on 07-04-2004 09:47:

Originally posted by loreste
Vorrei capire una cosa, se salvo i filtri in un albero binario (di ricerca o Rb) il primo filtro che inserisco è la radice, quando arrivano i filtri successivi in base a cosa decido se metterlo a sx o a dx :?
Grazie


devi stabilire una tua relazione di maggiore - minore. ad esempio puoi stabilire che se il vertice in alto a sinistra del rettangolo ha come ascissa un valore minore va a sinistra altrimenti va a destra


Posted by Skanky on 07-04-2004 10:24:

Originally posted by sonica
anche a me sembra che sia 1 anzichè 2, qualcun altro può correggerci?


Secondo me è un errore del prof, forse dovremmo scrivergli, ci ho pensato e ripensato e non mi sembra che ci possa essere un errore.


Posted by loreste on 07-04-2004 10:30:

Sono indeciso tra memorizzare i filtri in un albero o in una lista, perchè quando devo dire il grado di annidamento di un filtro X devo cmq scorrere tutti i nodi per vedere se quel nodo contiene un filtro annidato a X.
Per questo ho pensato alle liste, gli alberi sono migliori delle liste in caso di ricerca, ma io devo sempre confrontare tutti i nodi, percui non ne vedo la neccesità.
Cosa dite??????

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 07-04-2004 10:35:

Originally posted by loreste
Sono indeciso tra memorizzare i filtri in un albero o in una lista, perchè quando devo dire il grado di annidamento di un filtro X devo cmq scorrere tutti i nodi per vedere se quel nodo contiene un filtro annidato a X.
Per questo ho pensato alle liste, gli alberi sono migliori delle liste in caso di ricerca, ma io devo sempre confrontare tutti i nodi, percui non ne vedo la neccesità.
Cosa dite??????


Diciamo che se fai un ordinamento in un albero seconodo una coordinata potrebbe esserci il modo di dover attraversare l'abero fino a un certo punto e poi scartare gli altri nodi, detto questo io lo sto facendo come un grafo cioè implementato con liste.... l' importante è farcela in qualche modo


Posted by Andre on 07-04-2004 10:51:

Originally posted by Skanky
ciao, non riesco a capire una cosa.
Nell'esempio di input e output l'ultima riga di out put è 2 e dovrebbe corrispondere all' ultima G (grado piano).
Pero' dopo le varie cancellazioni di filtri a me il grado del piano risulta 1 visto rimangono 3 filtri isolati
Che ne dite mi sto sbagliando?



No, infatti il testo del progetto è stato corretto.
http://homes.dsi.unimi.it/~aguzzoli/algo.htm


Posted by Andre on 07-04-2004 10:52:

Exclamation Correzione testo progetto

Originally posted by Andre
No, infatti il testo del progetto è stato corretto.
http://homes.dsi.unimi.it/~aguzzoli/algo.htm


Posted by pincopallino on 07-04-2004 11:38:

Originally posted by Skanky
Secondo me è un errore del prof, forse dovremmo scrivergli, ci ho pensato e ripensato e non mi sembra che ci possa essere un errore.


potrebbe anche essere che quando si chiede l'inviluppo dei rettangoli (12,9,15,12) e (10,7,12,10), il cui risultato è il rettangolo (2,2,15,12) che inizialmente non esiste, venga creato e inserito nel piano.
Nel caso in cui questo rettangolo venga inserito nel piano allora quella riga di output è giusta...

Però non è specificato da nessuna parte quindi cmq rimane un mistero da chiarire....


EDIT
ops il testo è stato corretto :D

__________________
"Che ne sai di un ragazzo che ti amava
che parlava e niente sapeva
eppur quel che diceva chissà perchè‚ chissà adesso è verità."


Posted by loreste on 07-04-2004 13:29:

Chi mi puo fare un esempio di come risulterebbe un albero con i primi 3 filtri dell'input di esempio?
Se ad esempio utilizzo il valore dell'ascissa per decidere se metterlo a dx o sx quando devo dire il grado di annidamento di un filtro devo scandire tutto l'albero quindi non ne vedo l'utilità.

Help!!!!!!

Non vorrei partire con il piede sbagliato, al momento sarei tentato di mettere tutto in una lista.

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by zumzum on 07-04-2004 19:44:

Anche secondo me la lista è la cosa più semplice.... poi naturalmente potrei sbagliarmi! la struttura dati serve solo per memorizzare i dati... dipende quanto tempo vuoi perderci dietro... per esempio fare degli rb-alberi è una soluzione ottimale x i tempi di esecuzione ma da implementare è un bel casino...


Posted by tetrinet on 07-04-2004 22:15:

Sono ammesse situazioni di questo tipo nel piano?
Le prime due stando alla definizione dovrebbero essere ammesse, e la terza anche, ma siccome non c'e' alcun esempio grafico simile mi e' venuto un dubbio.

code:
___ | | |___|___ | | |___| ___ ___ | | | |___|___| ___ | |___ |___| | | | |___|


Posted by sonica on 07-04-2004 22:34:

sì l'intersezione è unidimensionale

__________________
I really love your peaches,
wanna shake your tree...

The Joker - Steve Miller Band


Posted by tetrinet on 07-04-2004 22:56:

Rileggendo i post relativi allo scorso progetto, mi sembra che la soluzione proposta da Dante non sia male:

http://www.dsy.it/forum/showthread....15&pagenumber=5
(e' il terzo post di Dante)

adattandola e tenendo conto che il nuovo nodo da inserire puo' *includere* il nodo gia' esistente.

Che dite?

Vedo pero' che Dante posta ancora anche in questo thread, quindi forse la soluzione non era quella ottima?


Posted by Dante on 08-04-2004 09:18:

Grazie per avermi dato l'onore di una citazione... :-)

in effetti non ostante l'idea, non ho dato l'esame... ma per altri motivi... ora ci riprovo...

ciao!


Posted by Moffone on 08-04-2004 09:59:

anche io avevo pensato ad una soluzione conme quella di Dante.
Però per quanto riguarda l'inserimento e il grado di annidamento e abbastanza facile. Ma per l'eliminazione secondo me è un macello!

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tetrinet on 08-04-2004 10:16:

Originally posted by Dante
Grazie per avermi dato l'onore di una citazione... :-)


Non c'e' di che :-))


Posted by tetrinet on 08-04-2004 10:32:

Originally posted by Moffone
anche io avevo pensato ad una soluzione conme quella di Dante.
Però per quanto riguarda l'inserimento e il grado di annidamento e abbastanza facile. Ma per l'eliminazione secondo me è un macello!


Perche' lo vedi cosi' incasinato?
Io stavo pensando a un albero binario di ricerca (non rb per ora, magari successivamente se riesco).

Se il nodo da cancellare non ha figli, no problem, lo cancello e stop; se ha un figlio, cancello il nodo e aggancio il figlio al padre del nodo cancellato; se ha due figli aggancio il figlio sx (il filtro incluso) al padre del nodo cancellato e il figlio dx al figlio sx. Sto tralasciando qualcosa?


Posted by tetrinet on 08-04-2004 10:49:

MI e' venuto un dubbio sulla procedura di inserimento in un albero binario di ricerca del libro (tree-insert ); perche' dopo aver insrito il nuovo nodo (o prima) non mette a null i figli del nuovo nodo?


Posted by tetrinet on 08-04-2004 11:23:

Originally posted by tetrinet
MI e' venuto un dubbio sulla procedura di inserimento in un albero binario di ricerca del libro (tree-insert ); perche' dopo aver insrito il nuovo nodo (o prima) non mette a null i figli del nuovo nodo?


Mi rispondo da solo: forse e' implicito che il puntatore al nodo utilizzato abbia tutti gli attributi a NULL gia' in partenza?


Posted by Moffone on 08-04-2004 11:27:

Originally posted by tetrinet
Perche' lo vedi cosi' incasinato?
Io stavo pensando a un albero binario di ricerca (non rb per ora, magari successivamente se riesco).

Se il nodo da cancellare non ha figli, no problem, lo cancello e stop; se ha un figlio, cancello il nodo e aggancio il figlio al padre del nodo cancellato; se ha due figli aggancio il figlio sx (il filtro incluso) al padre del nodo cancellato e il figlio dx al figlio sx. Sto tralasciando qualcosa?


no, però a me sembra un macello.
Sopratutto quando devi risistemare l'albero!

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tetrinet on 08-04-2004 14:38:

Qualcuno sa dove si puo' trovare un algoritmo in C che, a partire da un albero binario, lo stampa graficamente? (E' a scopo di debug).

Grazie.


Posted by mitnik on 08-04-2004 14:57:

Come procedono i lavori? spero per voi bene.
Io sono orientato sulla soluzione che utilizza le liste.
Il mio dubbio ora è sui controlli da fare sui filtri per verificare se possono o meno essere inseriti nel piano. Qualcuno ha qualche idea? Ciao


Posted by Skanky on 09-04-2004 00:14:

Originally posted by mitnik
Come procedono i lavori? spero per voi bene.
Io sono orientato sulla soluzione che utilizza le liste.
Il mio dubbio ora è sui controlli da fare sui filtri per verificare se possono o meno essere inseriti nel piano. Qualcuno ha qualche idea? Ciao


Ma io penso di controllare le coordinate a riguardo e confrontandole con ogni filtri già immesso stabilire se ci sono intersezioni non monodimensionali.


Posted by Skanky on 09-04-2004 00:17:

Originally posted by tetrinet
Rileggendo i post relativi allo scorso progetto, mi sembra che la soluzione proposta da Dante non sia male:

http://www.dsy.it/forum/showthread....15&pagenumber=5
(e' il terzo post di Dante)

adattandola e tenendo conto che il nuovo nodo da inserire puo' *includere* il nodo gia' esistente.

Che dite?

Vedo pero' che Dante posta ancora anche in questo thread, quindi forse la soluzione non era quella ottima?


Ma anche nello scorso progetto un nuovo nodo da inserire poteva includere (intedni annidare?) un altro filtro..
Forse non ho capito bene cosa intendevi


Posted by Moffone on 09-04-2004 00:29:

Io ho dato un' occhiata al vecchio progetto e: oltre a poter essere inclusi-annidati, i filtri potevano anche intersecarsi.

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by loreste on 09-04-2004 07:27:

Io ho utilizzato le liste, e per finire il progetto mi manca solo il grado di un filtro (ho gia un algoritmo, ma devo ancora scriverlo) e l'inviluppo (al quale non ho ancora pensato).
Però mi è sorto un dubbio, se ricevo il seguente input
f 2 2 10 12 1 1
f 2 2 10 12 6 6
e 2 2 10 12
Quale filtro elimino?????
Tutti e due???

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by t3mp0 on 09-04-2004 09:22:

Se R e S hanno le stesse coordinate, quindi R=S, allora elimini tutti e due i rettangoli


Posted by Skanky on 09-04-2004 09:38:

Originally posted by loreste
Io ho utilizzato le liste, e per finire il progetto mi manca solo il grado di un filtro (ho gia un algoritmo, ma devo ancora scriverlo) e l'inviluppo (al quale non ho ancora pensato).
Però mi è sorto un dubbio, se ricevo il seguente input
f 2 2 10 12 1 1
f 2 2 10 12 6 6
e 2 2 10 12
Quale filtro elimino?????
Tutti e due???


Esatto tutti e due!

Scusate invece una cosa ma quando immetto un nuovo filtro i 2 ultimi numeri sono già una coppia che identifica la polarizzazione o dati quei numeri che immetto mi calcolo la polarizzazione del filtro??
E stessa domanda per il caso" s x y "


Posted by eugenio_2 on 09-04-2004 09:55:

Originally posted by Skanky
Ma anche nello scorso progetto un nuovo nodo da inserire poteva includere (intedni annidare?) un altro filtro..
Forse non ho capito bene cosa intendevi


Posted by eugenio_2 on 09-04-2004 09:59:

Originally posted by loreste
Io ho utilizzato le liste, e per finire il progetto mi manca solo il grado di un filtro (ho gia un algoritmo, ma devo ancora scriverlo) e l'inviluppo (al quale non ho ancora pensato).
Però mi è sorto un dubbio, se ricevo il seguente input
f 2 2 10 12 1 1
f 2 2 10 12 6 6
e 2 2 10 12
Quale filtro elimino?????
Tutti e due???


Posted by zumzum on 09-04-2004 12:28:

Aiuto

qualcuno mi riesce a spiegare come l'esempio da 3 filtri di polarita (-13,4) (2,27) (-8,9) e segnale (31,200) riesca a far risultare (5,16) ???????


Posted by zumzum on 09-04-2004 12:31:

qualcuno mi riesce a spiegare come l'esempio da 3 filtri di polarita (-13,4) (2,27) (-8,9) e segnale (31,200) riesca a far risultare (5,16) ???????


Posted by 0m4r on 09-04-2004 12:46:

Off-Topic:
forse hai fatto qualche errore nel postare il messaggio, o forse hai dimenticato di fornire qualche info in piu!

__________________
http://www.twitter.com/0m4r


Posted by Gusher on 09-04-2004 14:54:

Perchè quando calcoli il segnale (distorto) uscente, devi polarizzare il risultato.
ciao


Posted by tetrinet on 09-04-2004 14:55:

Originally posted by Skanky
Esatto tutti e due!

Scusate invece una cosa ma quando immetto un nuovo filtro i 2 ultimi numeri sono già una coppia che identifica la polarizzazione o dati quei numeri che immetto mi calcolo la polarizzazione del filtro??
E stessa domanda per il caso" s x y "


Per entrambi i casi devi calcolarla.
Infatti se guardi gli esempi ci sono un paio di inserimenti in cui y e' negativo.


Posted by tetrinet on 09-04-2004 15:01:

Dubbio sul testo: la presenza di filtri uguali non influenza il grado di annidamento (se ne conta solo 1), ma invece influenza la polarita'? (cioe' si tiene conto di tutti)?


Posted by Sonia on 09-04-2004 16:21:

Off-Topic:
sposto nel thread del progetto di algo

__________________
Spietata e diabolica!

"Questi libri non possono cancellare secoli di storia, specialmente se quella storia è sostenuta dal più grande best seller di tutti i tempi." Fraukman aveva sgranato gli occhi. "Non dirmi che Harry Potter parlava del Santo Graal."
"Parlavo della Bibbia." Fraukman aveva fatto una smorfia. "Dovevo aspettarmelo."


Posted by tom80 on 09-04-2004 16:31:

Ciao tetrinet. Se incontri due filtri uguali vai a modificare soltanto la loro polarità.Come nell'esempio dell'input del progetto,dove hai

f 4 3 7 6 -4 -6
e poi hai

f 4 3 7 6 11 17

il nuovo filtro posto nel piano sarà

4 3 7 6 13 20

Io ho fatto quasi ~ tutto il progetto, solo che ho problemi con la funzione che inserisce i filtri nel piano,o meglio ho problemi con la funzione che mi calcola il minor rettangolo, ch einclude tutti i filtri. Qualcuno è riuscito a risolvere questo problema?.Io sto realizzando il progetto con le liste di adiacenza. Ero andato a parlare con Fiorentini per il progetto Filtri e mi ha detto che un modo per risolverlo era con le liste di adiacenza.

Ciao a tutti e Buona Pasqua!!!!


Posted by Skanky on 09-04-2004 16:57:

Originally posted by zumzum
qualcuno mi riesce a spiegare come l'esempio da 3 filtri di polarita (-13,4) (2,27) (-8,9) e segnale (31,200) riesca a far risultare (5,16) ???????


(31-(-13+2-8), 200-(4+27+9)

=>

(31 - (-19),200-(40))

(50,160)

l'mcd di 50 e 160 è 10
dividi per 10 entrambi
e risulta

(5,16)


Posted by Skanky on 09-04-2004 16:59:

Originally posted by tetrinet
Per entrambi i casi devi calcolarla.
Infatti se guardi gli esempi ci sono un paio di inserimenti in cui y e' negativo.


Giusto!, grazie


Posted by tetrinet on 09-04-2004 17:18:

Originally posted by tom80
Ciao tetrinet. Se incontri due filtri uguali vai a modificare soltanto la loro polarità.


Ciao.
Quindi quando ti trovi ad inserire un filtro uguale ad un altro non lo inserisci, ti limiti a modificare la polarita' di quello esistente? Quindi non tieni traccia del fatto che sul tuo piano ci sono n filtri uguali?

Originally posted by tom80
Come nell'esempio dell'input del progetto,dove hai

f 4 3 7 6 -4 -6
e poi hai

f 4 3 7 6 11 17

il nuovo filtro posto nel piano sarà

4 3 7 6 13 20


Non ti seguo, perche' 13 e 20?

Originally posted by tom80

Io sto realizzando il progetto con le liste di adiacenza. Ero andato a parlare con Fiorentini per il progetto Filtri e mi ha detto che un modo per risolverlo era con le liste di adiacenza.


Io sto provando con gli alberi, speriamo bene....


Originally posted by tom80

Ciao a tutti e Buona Pasqua!!!!


Grazie e buona Pasqua anche a te.

Ciao.


Posted by Bloody on 09-04-2004 22:27:

Originally posted by tetrinet
[B]Ciao.
Quindi non tieni traccia del fatto che sul tuo piano ci sono n filtri uguali?

quando poi calcoli il grado di annidamento ne devi tenere conto, gli estremi sono compresi, quindi mi sa che non basta sommare le polarità...

Anch'io sto usando gli alberi, ma x chi ce l'ha fatta a febbraio, quanto tiene conto Aguzzoli della complessità?
Vabè che ormai sono partita in quarta con gli alberi, e vado avanti con quelli...

__________________
I don't care if you're black, white, straight, bisexual, gay, lesbian, short, tall, fat, skinny, rich or poor. If you're nice to me, I'll be nice to you. Simple as that.


Posted by tom80 on 09-04-2004 22:52:

quando fai il MCD tra -4 -6, dopo averli moltiplicati entrambi per -1, perchè y (-6) e' negativo, dopo averli anche polarizzati, ovvero dopo aver diviso sia 4 che 6 per due ottieni 2 3 come polarizzazione. Infine quando trovi i due filtri uguali

f 4 3 7 6 -4 -6

che ha polarizzazione

f 4 3 7 6 2 3

vai a sommare al filtro precedente ( f 4 3 7 6 2 3 ) la polarità del filtro

f 4 3 7 6 11 17

=> ( 2 + 11 ) = 13
=> ( 3 + 17 ) = 20

Scusa la poca chiarezza.Spero comunque di averti dato comunque una mano.

Ciao ciao Tom 80


Posted by tom80 on 09-04-2004 22:58:

Ciao Bloody.Credo che quando calcoli il gardo di annidamento del piano non tieni conto che ci sono due filtri uguali, perchè ilsecondo non lo vai effettivamente ad inserire, ma in caso di filtri uguali vai solo a modificare la polarità del primo filtro uguale agli altri, che hai inserito.Nel testo del progetto, credo che si dica, che il grado di annidamento di un filtro e più in generale del piano non dipende da quanti filtri ( il prof credo usi l'espressione forma ) uguali abbiano le stesse coordinate ( a,b,c,d ).Verrebbe a cadere la proprietà di propria inclusione.

Ciao a tutti.Tom 80


Posted by tetrinet on 10-04-2004 09:50:

Originally posted by Bloody
quando poi calcoli il grado di annidamento ne devi tenere conto, gli estremi sono compresi, quindi mi sa che non basta sommare le polarità...


No per l'annidamento non ne devi tenere conto, infatti i filtri devono essere *propriamente* inclusi.


Posted by tetrinet on 10-04-2004 09:58:

Originally posted by tom80
quando fai il MCD tra -4 -6, dopo averli moltiplicati entrambi per -1, perchè y (-6) e' negativo, dopo averli anche polarizzati, ovvero dopo aver diviso sia 4 che 6 per due ottieni 2 3 come polarizzazione.


[....]

Chiarissimo, tnx, non sto ancora gestendo la polarizzazione per adesso inserivo i filtri con x e y non polarizzati, quindi facevo la somma degli x e y dei due filtri e non mi tornava; ovviamente invece vanno prima polarizzati.

Anche se in effetti ai fini di quanto richiesto dal progetto non cambia nulla se teniamo traccia dei filtri uguali o meno, forse sarebbe meglio chiedere a Fiorentini se e' una semplificazione ammessa o no, che ne dite?


Posted by t3mp0 on 10-04-2004 11:15:

Se R e S hanno le stesse coordinate, quindi R=S, allora elimini tutti e due i rettangoli


Posted by Skanky on 10-04-2004 12:55:

Nel caso che ci siano 2 filtri con un lato di intersezione
esempio

f 2 2 8 8 4 8
f 8 2 10 10 44 9

se chiediamo il segnale nel punto

p 8 3
che è sul lato comune dei due filtri
per esempio.
Devo tener conto delle polarizzazioni di tutti e due i filtri?


Posted by tetrinet on 10-04-2004 14:12:

Originally posted by Skanky
Nel caso che ci siano 2 filtri con un lato di intersezione
esempio

f 2 2 8 8 4 8
f 8 2 10 10 44 9

se chiediamo il segnale nel punto

p 8 3
che è sul lato comune dei due filtri
per esempio.
Devo tener conto delle polarizzazioni di tutti e due i filtri?


Beh si' dovrebbe essere cosi', visto che il punto fa parte di entrambi i filtri.


Posted by loreste on 12-04-2004 09:32:

Io sono alla fine del progetto(meno male), ho utilizzato una lista, il punto mancante è l'inviluppo, ho trovato 3 casi di cui 2 ho risolto e mi manca il terzo (chiaramente è quello più complesso)

Caso 1) Un filtro è figlio dell'altro percui l'inviluppo è il filtro padre.
Caso 2) Provo a costruire un rettangolo utilizzando i 2 vertici, se posso inserire il rettangolo, quello è l'inviluppo.
Caso 3) E' quando fallisce il caso 2, allora dovrei andare a prendere i padri, e ripetere il caso 2, ma questo non sempre è vero.....

Voi come calcolate l'inviluppo del terzo caso???????
Aiutatemi che poi io ho finito e sono a disposizione ad aiutare chi ne avesse bisogno.:D

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by tom80 on 12-04-2004 19:00:

Se ho ben capito il filtro inviluppo e' il minimo filtro che contiene i due filtri, sempre se questi sono nel piano, e tutti gli altri filtri presenti nel piano.Per fare questo io ho costruito una funzione minx(filtr *q ), che mi restituisce il filtro, con le coordinate più piccole, che contiene i due filtri della funzione inviluppo e tutti i filtri già presenti nel piano.Io sto realizzando il progetto, come mi ha consigliato Fiorentini,con le liste d'adiacenza e per tovare il grado di un filtro e del grado piano uso la ricerca in ampiezza o per livelli.Tu come hai fatto?.Per creare la funzione minx(q), ho anche implementato anche una funziona ordina, molto simile all'insertion sort per ordinare l'array contenente tutte le coordinate dei filtri presenti nel piano.

Beato te.Io sto implementando la funzione punto e poi devo finire di sistemare tutto il progetto.Speriamo in bene.

Spero di esserti e di esservi stato d'aiuto.

A presto.

Ciao ciao Tom80


Posted by Bloody on 13-04-2004 07:08:

Io sono ancora abbastanza indietro.... e non mi è chiara una cosa: se alla fine la somma delle polarità dei filtri è maggiore del segnale, il segnale risultante è zero giusto?
Nell'esempio del prof c'è un caso del genere, precisamente la seconda volta che chiede di calcolare il segnale fuoriuscente da 5,5 mi viene questa situazione. Come fa ad uscirgli 9 e 17?

__________________
I don't care if you're black, white, straight, bisexual, gay, lesbian, short, tall, fat, skinny, rich or poor. If you're nice to me, I'll be nice to you. Simple as that.


Posted by loreste on 13-04-2004 07:24:

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.
Per il calcolo del grado piano, utilizzi la funzione piano, gli passi tutta la struttura e calcoli il grado di tutti i piani, memorizzi il maggiore grado che hai ed a questo numero sommi 1.
Ciao

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by tom80 on 13-04-2004 10:52:

Grazie mille Loreste.Tu per rappresentare il figlio ch estruttura hai usato???.Ancora una lista?.La visita per ampiezza secondo te è la soluzione giusta per il grado del piano?

Ciao ciao Tom80


Posted by tom80 on 13-04-2004 11:02:

To Bloody

Ciao Bloody.Anche io devo finire di sistemare bene le cose.Per la funzione punto anche se somma delle polarizzazione dei filtri inclusi e' maggiore del segnale, non c'è problema.Quando faccio la sottrazione del segnale del piano e della somma delle polarizzazioni dei singoli filtri, controllo che la y del segnale sia positiva e poi sistemo le cose come nel caso di una semplice polarizzazione. ( ovvero moltiplico sia x che y per -1 e poi li divido per il MCD tra l'x e l'y risultante dalla sottrazione del segnale presente nel piano e dalla somma delle polarizzazioni dei singoli filtri.
Non so se sono stato molto chiaro.

Buon progetto.

Ciao ciao Tom80


Posted by loreste on 13-04-2004 12:52:

Ho usato una lista che tengo buona per tutto il progetto, senza fare ordinamenti.
L'unica cosa è che devo passare il puntatore a tutte le funzioni.

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 13-04-2004 13:54:

Originally posted by loreste
Io sono alla fine del progetto(meno male), ho utilizzato una lista, il punto mancante è l'inviluppo, ho trovato 3 casi di cui 2 ho risolto e mi manca il terzo (chiaramente è quello più complesso)

Caso 1) Un filtro è figlio dell'altro percui l'inviluppo è il filtro padre.
Caso 2) Provo a costruire un rettangolo utilizzando i 2 vertici, se posso inserire il rettangolo, quello è l'inviluppo.
Caso 3) E' quando fallisce il caso 2, allora dovrei andare a prendere i padri, e ripetere il caso 2, ma questo non sempre è vero.....

Voi come calcolate l'inviluppo del terzo caso???????
Aiutatemi che poi io ho finito e sono a disposizione ad aiutare chi ne avesse bisogno.:D



Io ho risolto cosi.

una funzione con 4 vertici dati da input
trovo x min y min x mag e y mag confrontandoli.

Se questo rettangolone non è inseribile (la mia procedura di inseribilità mi dice quale rettangolo ha causato l'impossibilità di inserimento).
A sto punto la faccio ripartire ricorsivamente usando le coorditae maggiori calcolate precedentemente e le coordinate del rettangolo che reso impossibile l'inserimento...cosi mi ricalcola un rettangolone ancora piu grosso che contiene anche il rettangolo che rompeva le balle ...e cosi via fino a che la condizione di inserimento non è soddisfatta


Posted by tetrinet on 13-04-2004 15:19:

Le specifiche del progetto indicano che non ci devono essere limiti sul numero e la grandezza dei filtri e sulla grandezza del piano.
Se pero' si memorizzano i filtri mediante le coordinate si pone gia' un limite alla grandezza dei filtri e del piano: se si dichiarano le coordinate int ad es. il piano non puo' essere piu' largo di 2^8 giusto?
Cosa ne pensate?
Stessa cosa per il livello di profondita'.


Altra cosa: si da' per scontata la correttezza dell'input: questo vuol dire non solo che ad esempio dopo una f ci saranno 6 valori, ma anche che le coordinate saranno interi >= 0 e x y interi? Quindi non si controlla nulla?

Grazie.


Posted by Skanky on 13-04-2004 15:31:

Originally posted by tetrinet
Le specifiche del progetto indicano che non ci devono essere limiti sul numero e la grandezza dei filtri e sulla grandezza del piano.
Se pero' si memorizzano i filtri mediante le coordinate si pone gia' un limite alla grandezza dei filtri e del piano: se si dichiarano le coordinate int ad es. il piano non puo' essere piu' largo di 2^8 giusto?
Cosa ne pensate?
Stessa cosa per il livello di profondita'.


Altra cosa: si da' per scontata la correttezza dell'input: questo vuol dire non solo che ad esempio dopo una f ci saranno 6 valori, ma anche che le coordinate saranno interi >= 0 e x y interi? Quindi non si controlla nulla?

Grazie.



Beh diciamo che se ragioni in quel modo hai ragione nel senso che gli int sono limitati...
Pero' con lo stesso modello di pensiero allora le limitazioni ci saranno sempre perchè i computer hanno dei limiti fisici , sia per la rappresentazione dei dati sia per la memoria.
Solo la teoria non ha limitazioni.
Quello che si voleva intendere con quelle parole è che non devi limitarle con strutture dati fisse tipo matrici ed array.

Per quello che dici per l'input.Si non devi curarti che il tuo programma gestisca input sballati.
Pero' devi stare attento agli spazi bianchi nell' input come c' è scritto sulla descrizione


Posted by tetrinet on 13-04-2004 17:26:

Originally posted by Skanky
Beh diciamo che se ragioni in quel modo hai ragione nel senso che gli int sono limitati...
Pero' con lo stesso modello di pensiero allora le limitazioni ci saranno sempre perchè i computer hanno dei limiti fisici , sia per la rappresentazione dei dati sia per la memoria.
Solo la teoria non ha limitazioni.
Quello che si voleva intendere con quelle parole è che non devi limitarle con strutture dati fisse tipo matrici ed array.


Ok perfetto grazie; la mia poteva sembrare una domanda retorica ma volevo avere qualche conferma :)
Magari portare le coordinate almeno a long int non sarebbe male cmq.


Originally posted by Skanky
Per quello che dici per l'input.Si non devi curarti che il tuo programma gestisca input sballati.
Pero' devi stare attento agli spazi bianchi nell' input come c' è scritto sulla descrizione


Si' per la lettura dovrebbe bastare prendere come riferimento uno degli esempi delle dispense di Fiorentini.


Posted by Dante on 13-04-2004 17:48:

ho qualche problemino con la lettura...

primo: conviene usare scanf o getchar() per inserire la riga di comando nell'array?

secondo: come si fa a dirgli di terminare la lettura di una riga quando si batte invio?

io ho provato sia con scanf("%c", &nome_array[i]) sia con
nome_array[i]=getchar() ponendo la condizione !='\n' ... è giusto? a me non funziona, continua a aspettare input e non termina la lettura...
HELP!


Posted by Moffone on 13-04-2004 18:44:

Ho un dubbio che riguarda l'inserimento di un filtro con le stesse coordinate di uno già presente nel piano.

Voi avete detto di non aggiungere un filtro nella struttura dati, ma di modificare la polarità di quello che già c'era facendo la somma, e anch'io pensavo di fare così...

Ma è sicuro che in questo modo quando si calcola il segnale di un punto di quel filtro, il risultato venga corretto?

Infatti la formula in mezzo a pag.2, dice di far la somma delle xi polarizzate, sottrarre il risultato dalla x del piano, fare lo stesso con le yi e solo alla fine calcolare la polarità.

Quindi l'ordine è:
somma,differenza,polarità.

Se invece noi calcoliamo direttamente la somma di due filtri uguali, dobbiamo calcolare subito la polarità e quindi l'ordine per lo stesso punto diventa:
somma,polarità,differenza.

E quindi ho l'impressione che il risultato venga diverso...

Ho sbagliato qualcosa io o effettivamente è così???

Grazie

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tom80 on 13-04-2004 18:48:

Ciao Dante.Per la lettura dell'input usa la scanf.L'array che intendi tu e' quello dove vai a mettere i valori di a,b,c,d,x,y ad esempio nella funzione f 2 2 12 10 2 -2?

Tom 80


Posted by tetrinet on 13-04-2004 21:35:

Qualcuno ha un po' di esempi di input con una buona varieta' di casi?


Posted by Dante on 14-04-2004 10:05:

Originally posted by tom80
Ciao Dante.Per la lettura dell'input usa la scanf.L'array che intendi tu e' quello dove vai a mettere i valori di a,b,c,d,x,y ad esempio nella funzione f 2 2 12 10 2 -2?

Tom 80



Sì, è quello l'array. E come dimensione... lo metto di 80 spazi? è sufficiente? poi devo togliere gli eventuali spazi in eccesso e lasciarne solo uno tra i valori... conviene riversare il primo array in un secondo (dopo aver ridotto gli spazi in eccesso)? E mi conviene usare una funzione apposta?

Grazie!


Posted by Dante on 14-04-2004 10:24:

Ma se tipo metto l'array di 80, e metto lo scanf all'interno di un for che riempie le caselle dell'array, scanf attende 80 battute prima di terminare... come faccio a dirgli di terminare quando batto invio? ho provato con un while(nome_array[i]!='\n' ma non funziona... come cavolo si fa? in pascal era eoln (end of line), in c????????
grazie!

__________________
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


Posted by loreste on 14-04-2004 10:30:

Scusate, ma siete fuori strada, per leggere l'input basta la seguente riga di codice:

for(carattere=getchar(); isspace(carattere); carattere=getchar());

che tral'altro, se avete guardato le dispense di Fiorentini, usa sempre questa istruzione per leggere l'input.

Subito dopo il for mettete uno swith per i vari caratteri f i p q g G
e chiamate le vostre procedure.

Cmq RIPETO date un'occhiata alle dispense di Fiorentini , trovate tanti aiuti.


Non complicatevi la vita con inutili array!!!!!!!!!

:D

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Dante on 14-04-2004 10:47:

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


Posted by tom80 on 14-04-2004 11:09:

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


Posted by Skanky on 14-04-2004 12:43:

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

MMM non riesco a capire , ma hai usato liste di adiacenza?


Posted by loreste on 14-04-2004 13:42:

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!!!!!!!!


Posted by Gusher on 14-04-2004 13:48:

è un modo per rappresentare un grafo sul calcolatore.
Vedi il capitolo sui grafi (Cormen), ci sono un paio di esempi.


Posted by loreste on 14-04-2004 14:25:

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!!!!!!!!


Posted by mitnik on 14-04-2004 15:07:

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


Posted by loreste on 14-04-2004 15:46:

Per mitnik
Ti ho mandato un PM

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 14-04-2004 17:15:

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.

Lista di adiacenza credo proprio che sia come lo hai fatto anche tu.

Pero' non riesco a fare una procedura fatat bene per il calcolo dekl dell'aniidamento di un filtro.
Puoi darmi qualche dritta?
mercy


Posted by loreste on 14-04-2004 17:37:

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!!!!!!!!


Posted by Skanky on 15-04-2004 16:03:

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.


Interessante procedura, ci penso un pò . intanto io ho risolto in un altro modo direi piu' complicato.
grazie del post
ciao


Posted by Skanky on 16-04-2004 10:14:

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


Posted by loreste on 16-04-2004 11:07:

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!!!!!!!!


Posted by Moffone on 16-04-2004 11:17:

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


Posted by loreste on 16-04-2004 11:23:

Ok!!!|:D
Ho passato il test di Moffone.

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Moffone on 16-04-2004 11:30:

loreste se ne hai uno anche tu lo posti?
io ne sto facendo un altro ma è uno sbattimento farli!
grazie

ovviamente l'invito è aperto a tutti....

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tom80 on 16-04-2004 11:36:

Per SkanKy.

Le liste di adiacenza sono semplicemente liste di liste,anche se son oun po' complicate da gestire.

A presto.

Buon progetto a tutti.

Ciao ciao Tom 80


Posted by tom80 on 16-04-2004 11:38:

Ciao Loreste.Tu per realizzare tutto il progetto hai usato soltanto una lista,non le liste di adiacenza?.

A presto.

Ciao ciao Tom 80


Posted by Moffone on 16-04-2004 12:02:

secondo test!

INPUT:

s 3 5
f 1 1 5 5 2 3
f 2 3 3 5 7 7
f 3 3 4 5 3 5
p 3 4
g 1 1 5 5
G
i 2 3 3 5 3 3 4 5
f 2 2 4 4 6 8
f 2 2 5 5 5 1
e 2 3 3 5
G
f 1 7 20 15 21 8
f 2 8 7 12 0 0
f 6 11 12 45 98 65
f 5 10 7 12 2 4
p 6 11
g 1 7 20 15
G
f 6 11 7 12 1 1
G
i 3 3 4 5 6 11 7 12
i 6 11 7 12 3 3 4 5
i 6 11 7 12 5 10 7 12
q

OUTPUT:

3 4
1
2
(2, 3, 4, 5)
(2, 2, 4, 4) non inseribile
3
(6, 11, 12, 45) non inseribile
19 5
2
3
4
(1, 1, 20, 15)
(1, 1, 20, 15)
(5, 10, 7, 12)

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Skanky on 16-04-2004 12:15:

Originally posted by Moffone
metto un test!

(3, 4, 12, 15)
1
(4, 4, 12, 15)
1
2 1
4



Fatemi sapere se vi vengono gli stessi risultati!


A me vengono tutti uguali tranne il primo inviluppo che mi viene (4,4,12,15) invece di (3, 4, 12, 15).
Ora ricontrollo
grazie del test


Posted by Moffone on 16-04-2004 12:33:

(4, 4, 12 15) non può essere l'inviluppo perchè è un filtro-rettangolo non inseribile. Interseca (3, 13, 5, 15)
prova a fare il disegno e lo vedi subito

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by loreste on 16-04-2004 13:11:

Per Moffone
Sei sicuro del secondo test?
Il secondo e terzo inviluppo a me risponde (1 3 20 15), però non ho controllato a mano se è un baco del mio progetto o meno.
Puoi confermarmi?
Tks

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 16-04-2004 14:15:

Originally posted by Moffone
(4, 4, 12 15) non può essere l'inviluppo perchè è un filtro-rettangolo non inseribile. Interseca (3, 13, 5, 15)
prova a fare il disegno e lo vedi subito


Si si hai ragione...era un maledetto baco
Grazie per avermelo fatto beccare


Posted by Moffone on 16-04-2004 14:15:

Sono sicuro!
prima faccio il disegno e poi genero l'input.
I due inviluppi, come avrai notato, sono praticamente lo stesso. Hanno i filtri invertiti!
Purtroppo non ho lo scanner altrimenti te lo avrei mandato

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tetrinet on 16-04-2004 17:35:

Come gestite il caso in cui un filtro ha (x,y) = (0,0)? L'mcd e' zero per cui non si puo' utilizzare come divisore; lasciate a zero?

Avete incontrato qualche altro caso particolare sulle polarita'?


Posted by Skanky on 16-04-2004 18:06:

QUANTI KB??

Ciao, una curiosità per quelli che han finito o quasi.

Qunati kB è grosso il vostro file sorgente?


Posted by Moffone on 16-04-2004 18:34:

14.357 byte
603 righe

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Moffone on 16-04-2004 18:39:

Originally posted by tetrinet
Come gestite il caso in cui un filtro ha (x,y) = (0,0)? L'mcd e' zero per cui non si puo' utilizzare come divisore; lasciate a zero?

Avete incontrato qualche altro caso particolare sulle polarita'?

Lascio 0 0
lo dice anche nel testo:

La polarità nulla è rappresentata da (0, 0).

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by loreste on 16-04-2004 18:47:

21760 byte
590 righe

Però non capisco il paragone, perchè dipende da quanto uno ha commentato il codice, non ho fatto il conto ma se dovessi eliminare i commenti potrei arrivare a 500 righe, inoltre lascio una riga vuota tra una funzione e l'altra, circa 5 righe vuote tra i vari #import e i prototipi di funzione.

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 16-04-2004 19:50:

Originally posted by loreste
21760 byte
590 righe

Però non capisco il paragone, perchè dipende da quanto uno ha commentato il codice, non ho fatto il conto ma se dovessi eliminare i commenti potrei arrivare a 500 righe, inoltre lascio una riga vuota tra una funzione e l'altra, circa 5 righe vuote tra i vari #import e i prototipi di funzione.


;-( che tristezza io ho il doppio delle vostre righe..ok sono stato largo e c' è molto commento ..pero' il doppio !!!
Bravi a voi


Posted by loreste on 16-04-2004 20:45:

Ho eliminato del codice che mi sono reso conto era di troppo:D
Ed inoltre era bacato, non passavo il secondo test di Moffone
Ora sono a 565 righe (Con commenti)
Ho passato i 2 test di Moffone + il test del progetto, spero che sia a posto.
Se qualche altra persona a fatto dei file di test può pubblicarli????

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by loreste on 16-04-2004 20:46:

Errore gravissimo ho messo un a senz'acca:(

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Capitan Harlock on 16-04-2004 22:50:

Beat voi che avete già finito, io ho ancora diversi problemi con la codifica anche se so come fare.

Toglietemi un dubbio: io sto usando un'unica lista come alcuni di voi. Quando inserisco un rettangolo con le stesse coordinate di uno già presente sul piano, va messo o va scartato?

In questo caso nella mia lista avrò 2 rettangoli uguali, ognuno con la sua polarità?

Se si, quando vado a cancellare il rettangolo con quelle coordinate, li tolgo entrambi?

Grazie.


Posted by tetrinet on 17-04-2004 09:24:

Originally posted by Moffone
Lascio 0 0
lo dice anche nel testo:


Hai ragione mi era sfuggito. Grazie.


Posted by tetrinet on 17-04-2004 09:28:

Per calcolare il mcd ho usato una funzione ricorsiva, come penso molti di voi; risulta difficile pero' calcolarne la complessita' voi che dite?


Posted by Skanky on 17-04-2004 11:58:

Originally posted by Capitan Harlock
Beat voi che avete già finito, io ho ancora diversi problemi con la codifica anche se so come fare.

Toglietemi un dubbio: io sto usando un'unica lista come alcuni di voi. Quando inserisco un rettangolo con le stesse coordinate di uno già presente sul piano, va messo o va scartato?

In questo caso nella mia lista avrò 2 rettangoli uguali, ognuno con la sua polarità?

Se si, quando vado a cancellare il rettangolo con quelle coordinate, li tolgo entrambi?

Grazie.


1.Si li devi inserire tutti e due.

2.Si cancellano tutti i rettangoli delle coordinate che seueno la 'e' (es:e 4 4 5 5 Cancella tutti i rettangoli di coord 4 4 5 5 )
ciao


Posted by Skanky on 17-04-2004 12:00:

Originally posted by tetrinet
Per calcolare il mcd ho usato una funzione ricorsiva, come penso molti di voi; risulta difficile pero' calcolarne la complessita' voi che dite?



Io non sono nemmeno molto cpace di calcolare la complessità.
Cmq io ho usato algoritmo di euclide che c' è sul cormen, adesso devo controllare se c' è già scritta la complessità


Posted by Moffone on 17-04-2004 13:52:

Test 3;

INPUT:

s 142 38
f 2 2 14 8 1 3
f 8 8 24 12 10 6
f 12 8 18 10 11 33
f 20 6 22 8 100 77
p 4 3
p 10 8
p 13 8
p 16 10
p 20 5
p 20 8
s 200 -250
f 14 5 20 8 7 -14
f 4 5 6 7 110 23
f 8 4 23 5 111 33
p 8 4
p 14 5
p 13 7
p 16 7
p 21 7
f 2 2 14 8 52 44
p 4 3
q


OUTPUT:

35 8
5 1
32 5
5 1
71 19
34 61
(8,4,23,5) non inseribile
-5 2
-1 0 /*(oppure 1,0) ?*/
-5 2
-1 1
13 9
2 1

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tetrinet on 17-04-2004 15:17:

Originally posted by Moffone

-1 0 /*(oppure 1,0) ?*/


A me viene
1 0
ma probabilmente
-1 0
e' piu' corretto perche' il mcd tra -4 e 0 e' 4, non -4 come ritorna l'algoritmo di Euclide giusto?
Il problema e' che si aspetta interi positivi in ingresso secondo voi bisogna tener conto di questa cosa?


Posted by loreste on 17-04-2004 15:54:

Stavolta non ho passato il terzo test di Moffone, però non capisco se ricevo "s 142 38" poi "p 4 3" in quel punto ho solo il filtro 2 2 14 8 con polarità 1 3 percui faccio142 - 1 = 141 e 38 - 3 = 35
come fa ad uscire 35 8???????
Dov'è che sbaglio:?

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Moffone on 17-04-2004 16:34:

Il test non lo ho idateo io però a me vengono gli stessi risultati!
Loreste mi sa che sbagli perche il segnale devi polarizzarlo!
142 38 = 71 19

71 - 1= 70 19 - 3 = 16
35 8

Quando calcolate p 14 5, come risultato vi da -1 0 oppure 1 0?

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Bloody on 17-04-2004 16:42:

quanto vi viene in totale la complessità del calcolo del grado di annidamento, per curiosità?

__________________
I don't care if you're black, white, straight, bisexual, gay, lesbian, short, tall, fat, skinny, rich or poor. If you're nice to me, I'll be nice to you. Simple as that.


Posted by Moffone on 17-04-2004 16:45:

Non ne ho idea, ma verrà un numeraccio!
Anche perchè lho fatto ricorsivo e quindi è un macello da calcolare!!!
sparerò a caso
O( n^n )
:)

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Skanky on 17-04-2004 16:46:

[
Quando calcolate p 14 5, come risultato vi da -1 0 oppure 1 0? [/B][/QUOTE]


citando dalle specifiche
"si noti che la polarità specificata da una coppia della forma(0,y) è (0,1)mentr ecoppie della forma (x,0) è (1,0)"

quindi è 1 0
secondo me


Posted by Moffone on 17-04-2004 16:46:

Originally posted by tetrinet
A me viene
1 0
ma probabilmente
-1 0
e' piu' corretto perche' il mcd tra -4 e 0 e' 4, non -4 come ritorna l'algoritmo di Euclide giusto?
Il problema e' che si aspetta interi positivi in ingresso secondo voi bisogna tener conto di questa cosa?

secondo me è giusto 1 0
nel testo dice che se ci trova nel caso (x, 0) allora la polarità e (1, 0)

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by Skanky on 17-04-2004 16:48:

Originally posted by Moffone
Il test non lo ho idateo io però a me vengono gli stessi risultati!
Loreste mi sa che sbagli perche il segnale devi polarizzarlo!
142 38 = 71 19

71 - 1= 70 19 - 3 = 16
35 8

Quando calcolate p 14 5, come risultato vi da -1 0 oppure 1 0?


Si anche io concordo i risultati sono giusti


Posted by Skanky on 17-04-2004 16:51:

Originally posted by tetrinet
A me viene
1 0
ma probabilmente
-1 0
e' piu' corretto perche' il mcd tra -4 e 0 e' 4, non -4 come ritorna l'algoritmo di Euclide giusto?
Il problema e' che si aspetta interi positivi in ingresso secondo voi bisogna tener conto di questa cosa?


Si ne devi tenr conto se no l'algo di euclide sballa..

Cmq basta che gli passo come argomenti il valore assoluto

euclid(abs(x),abs(y))

e poi ti ricordi di aggiustare i segni


Posted by Capitan Harlock on 17-04-2004 17:31:

Condivido la storia dei valori assoluti e di aggiustare i segni per mcd.

io faccio così:

- 0 0 ---> 0 0
- 0 -y oppure 0 y ----> 0 1
- x 0 oppure -x 0 ----> 1 0

il resto mi va tutto, non ho usato ne ricorsione ne algoritmo di euclide, se avete bisogno vi dico come ho fatto (poi magari scopro che sono un babbazzo e mi trovate l'errore).

Invece, ho un dubbio su una cosa: alcuni di voi mi hanno detto che se inserisco due rettangoli uguali o + nella mia struttura (in questo caso una lista), li memorizzo tutti ognuno con la sua polarità, se li cancello li cancello tutti ecc.
Domanda:
se voglio calcolare il grado di un rettangolo che sovrapposto ne ha uno perfettamente identico, quello identico lo considero o no?

Ad esempio se ho A B C con A e B uguali e C contenuto in B ( e quindi in A), se voglio calcolare il grado di A cosa viene, 2 ??

E se calcolo il grado di B cosa viene, sempre 2 ?? (nel senso che essendo uguali vederne uno sopra l'altro in realtà è interscambiabile)

Ciao


Posted by tetrinet on 17-04-2004 17:56:

Originally posted by Skanky
Si ne devi tenr conto se no l'algo di euclide sballa..


Perche' dici che sballa? Si possono risolvere i casi x,0 e i casi 0,x a monte, per il resto quando potrebbe sbagliarsi?

Originally posted by Skanky
Cmq basta che gli passo come argomenti il valore assoluto

euclid(abs(x),abs(y))

e poi ti ricordi di aggiustare i segni


Cioe' lui ti restituira' sempre due positivi, poi tu metti negativo x nel caso in cui x o y fossero negativi quando sono stati inviati a euclid()?


Posted by tetrinet on 17-04-2004 17:56:

Originally posted by Moffone
secondo me è giusto 1 0
nel testo dice che se ci trova nel caso (x, 0) allora la polarità e (1, 0)


Giusto, hai ragione, tnx.


Posted by Skanky on 17-04-2004 18:03:

Originally posted by Capitan Harlock
[

Ad esempio se ho A B C con A e B uguali e C contenuto in B ( e quindi in A), se voglio calcolare il grado di A cosa viene, 2 ??

Ciao [/B]


No viene 1. perchè sue rettangoli uguali non si includono propriamente e quinid se A = B

A non include B
e B non include A


Posted by Capitan Harlock on 17-04-2004 18:22:

Originally posted by Skanky
No viene 1. perchè sue rettangoli uguali non si includono propriamente e quinid se A = B

A non include B
e B non include A



Ok, ho capito, quindi quando vado a contare quelli contenuti nel rettangolo di cui voglio calcolare il grado, considero solo quelli "dentro" e poi vado a vedere la catena + lunga.

Dovrebbe essere così, se ho capito, spero di non sbagliare.

Grazie mille.


Posted by Moffone on 17-04-2004 19:20:

Io quando ho 2 filtri uguali sommo le polarità, senza polarizzare la somma. Non ho problemi ne nell'anidamento ne per il calcolo della polarità.
Nel testo non dice esplicitamente di mantenere tutti i filtri, quindi direi che conviene fare così a tutti. Almeno non avete casi particolari.

P.S. scusate gli errori di ortografia nei post precedenti

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by loreste on 18-04-2004 08:44:

Ok, grazie al terzo test di Moffone ho trovato un'altro baco.
Ora passo i 3 test di Moffone + il test del progetto, sarà definitivamente a posto:?

Ho fatto tutto in 542 righe di codice (compreso il commento).
Voi in quante?

__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!


Posted by Skanky on 18-04-2004 14:20:

Originally posted by loreste
Ok, grazie al terzo test di Moffone ho trovato un'altro baco.
Ora passo i 3 test di Moffone + il test del progetto, sarà definitivamente a posto:?

Ho fatto tutto in 542 righe di codice (compreso il commento).
Voi in quante?

Ma io credo che potrebbero bastare, perchè ogni test si accanisce con diverse funzioni, 1 e 2 sui gradi il 3 sulle polarizzazioni.
Grazie ancora a moffone che mi ha fatto beccare 2 bachi.

Io sono a 1100 righe (fischi e cori dalla curva).

Chi ha finito pensa di consegnare appena finita la relazioncina o attendete venerdi?


Posted by tetrinet on 18-04-2004 14:33:

Sul libro di testo ho verificato che il tempo di esecuzione dell'algoritmo di Euclide su due interi a e b e' O(log b), cioe' dipende da quanto e' grande b.

Ora, come e' possibile esprimere la complessita' in funzione del numero di filtri, visto che l'analisi delle altre funzioni (alcuni delle quale utilizzano mcd) e' espressa in questo modo?

Cioe' ad es. come integrare nell'analisi della complessita' dell'inserimento di un filtro quella del calcolo del mcd?


Posted by tetrinet on 18-04-2004 14:34:

Originally posted by Skanky

Chi ha finito pensa di consegnare appena finita la relazioncina o attendete venerdi?


Io anche nell'ipotesi in cui finissi tutto prima consegno Venerdi'.


Posted by Skanky on 18-04-2004 14:42:

Originally posted by tetrinet
Sul libro di testo ho verificato che il tempo di esecuzione dell'algoritmo di Euclide su due interi a e b e' O(log b), cioe' dipende da quanto e' grande b.

Ora, come e' possibile esprimere la complessita' in funzione del numero di filtri, visto che l'analisi delle altre funzioni (alcuni delle quale utilizzano mcd) e' espressa in questo modo?

Cioe' ad es. come integrare nell'analisi della complessita' dell'inserimento di un filtro quella del calcolo del mcd?

Beh cmq tu puoi decidere di quali algo (definiti i piu importanti) fare il calcolo della complessità.

Per meglio dire io non penso di fare il calcolo per tutte le funzioni, cercheò bene sul libro i riferimenti alla complessità dell'attraversamento di una lista, mettero' l'algo di euclide e quello per l'inviluppo e quello per trovare il grado del filtro che tra l'altra mi sa che verrà fuori la stessa complesità , visto che sono tutte funzioni ricorsive..però ora non so bene devo un po' vedere, di sicuro non voglio fare una relazione prolissa che mai nessuno leggerà...


Posted by Moffone on 18-04-2004 18:28:

Originally posted by tetrinet
Io anche nell'ipotesi in cui finissi tutto prima consegno Venerdi'.

Anche io

__________________
Federazione
Imbroglioni
Giuoco
Calcio


Posted by tetrinet on 18-04-2004 23:21:

Ho sviluppato su Windows (lcc); adesso ho provato il codice su Linux (gcc con opzioni -Wall e -ansi); grado di annidamento e polarita' di un punto mi danno valori completamente diversi da quelli che ottengo su Windows! Il grado piano poi mi da' sempre 1075018897.....
Le altre funzioni sembrano invece ok.

Avete qualche idea di quale sia il motivo?

Grazie.


All times are GMT. The time now is 07:37. Pages (2): [1] 2 »
Show all 234 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.