.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]Progetto Zoom (http://www.dsy.it/forum/showthread.php?threadid=13146)


Posted by pincopallino on 30-09-2004 07:02:

Originally posted by aghito
chi ha degli input da provare?


volevo chiedere la stessa cosa

__________________
"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 skorpius on 30-09-2004 07:16:

Originally posted by pincopallino
volevo chiedere la stessa cosa


io.
Ho fatto una prova di una ventina di comandi assortiti, verificando a mano che l'output fosse corretto.
Se volete li metto entrambi online, ma non so come allegare i due piccoli files. Al limite, li listo all'interno di un messaggio?
Cmq raga, mi dite qualcosa sulla mia domanda circa gli input sprospositati (1 o 2 pagine indietro) ??
Ciao


Posted by aghito on 30-09-2004 09:18:

se li posti ci fai un favore,magari anche con gli output prodotti in modo che possiamo confrontarli..va bene anche un copia incolla

__________________
alessandro colombini


Posted by ghily on 30-09-2004 10:25:

beati voi che siete già arrivati a i test finali :( . Io ho un problema con la funzione crea. Questa funzione deve adnare a cancellare il piano già creato, ovvero le strutture dati che contengono le informazioni,giusto?
Ora io ho una lista che memorizza le celle ed ho creato una funzione che distrugge la lista. Perchè quando chiamo questa funzione nel main funziona e se invece la chiamo nella funzione crea no?

i prototipi sono:

nodo *destroy(nodo *head);
void crea (nodo *head, knodo *h_head[],int p, int q, int newk);

speriamo sia chiaro
chao
Roby


Posted by aghito on 30-09-2004 10:25:

ho un problema/dubbio

sto usando una coda implementata come lista per gestire delle cose della funzione blocchi()
il codice originale prevede un campo dato.io ho messo 2 campi dato,x e y. come faccio a cambiare il codice seguente?

/*Restituisce il primo elemento della coda.*/

int q_first(q_descriptor *q){
return q->first->dato; }

avevo pensato a:
int q_first(q_descriptor *q){
return q->first->x && q->first->y ; }

però devo assegnarli a due variabili diverse.come si fa?

__________________
alessandro colombini


Posted by skorpius on 30-09-2004 10:38:

Originally posted by aghito
se li posti ci fai un favore,magari anche con gli output prodotti in modo che possiamo confrontarli..va bene anche un copia incolla


Ecco qua.
Con questi input

c 25 3 5
i 2 2
i 3 1
i 3 3
i 4 1
i 5 1
i 8 4
i 9 3
i 9 4
i 10 2
i 11 2
i 13 8
i 14 4
i 14 5
i 14 7
i 15 4
i 15 5
i 15 7
i 19 2
i 19 3
i 19 4
i 20 2
i 21 1
i 22 0
i 25 1
a 1 0
p 2 1
b
r 25 4
a 1 0
p 2 1
a 3 0
p 3 0
b
e 0 0
e 1 0
e 2 0
i 9 0
i 12 3
i 23 1
i 24 0
R 3
b
a 4 2
p 4 2
r 13 39
b
a 3 0
p 4 1
a 7 0
p 7 0
a 5 1
R 1
b
a 23 1
p 19 3
a 9 1
p 15 7
a 9 0
f

dovreste ricevere questo output:

3
2
4
4
2
6
13
2
0
3
2
4
5
2
0
0
0
8
0
14
1
6
3
3
6
5

Spero di non aver sbagliato il controllo a mano, ma non credo.
Sappiatemi dire se vi torna eh?
Ciao


Posted by fasa on 30-09-2004 12:30:

test

hai inserito l'input che c'è sulla traccia e se con quell'input hai quei risultati mi sa che il tuo codice nn funziona....


Posted by fasa on 30-09-2004 12:33:

Qualcuno ha altri test da provare?
Io ho finito e mi dovrebbe andare....forse ha le funzioni con costi alti ma credo di di aver finito.
ho implementato tutto con liste semplici e in pratica ne uso 2generali(una per le 1celle e una per le kcelle)mentre poi ne uso un'altra quasi solo di appoggio per metterci le kcelle di un blocco...


Posted by skorpius on 30-09-2004 14:04:

Re: test

Originally posted by fasa
hai inserito l'input che c'è sulla traccia e se con quell'input hai quei risultati mi sa che il tuo codice nn funziona....


beh, mi diresti che output hai tu e dove il mio output risulta diverso dal tuo?


Posted by fasa on 30-09-2004 14:24:

il mio output con il tuo input è:
6
21
1
2
0
1
4
2
1
8
19
2
2
6
1
3
0
5
9
9
0
3
1
come da traccia
però controlla il tuo post...secondo me hai sbagliato a scrivere gli input...hai copiato quelli sbagliati.


Posted by eskimo on 30-09-2004 14:39:

fasa, tu con liste semplici lle hai fatte ricorsive? tutte, nessuna o qualcuna??? grazie.... perchè le mie sono tutte iterative, fanno cagare anche se non so neanche ancora se funge, devo ancora scrivere il main.... e riordinare un attimo!
ciao ;)


Posted by fasa on 30-09-2004 14:46:

no nn uso liste ricorsive.i tempi di esecuzione con semplici liste nn credo che si possano migliorare...e anche come idee risolutive una volta che scegli di usare delle liste semplici più o meno sono sempre uguali.


Posted by skorpius on 30-09-2004 14:46:

però controlla il tuo post...secondo me hai sbagliato a scrivere gli input...hai copiato quelli sbagliati.

HAI RAGIONE!!!!!! ho postato l'input della traccia !!!!!!:oops:
Scusate tutti, ecco quello corretto, fatemi sapere.

c 1 2 2
i 0 0
i 1 3
i 2 6
i 3 4
i 3 5
i 4 3
i 4 8
i 5 2
i 5 8
i 6 3
i 6 5
i 6 7
i 10 0
i 8 7
i 9 6
i 9 7
b
a 1 2
p 1 2
i 11 0
i 11 1
b
i 6 6
i 6 4
b
a 2 4
p 4 3
r 4 3
b
a 2 4
p 4 3
r 1 7
b
e 2 1
e 2 4
e 3 2
a 0 0
p 0 1
R 3
b
a 0 0
p 2 0
p 0 2
r 9 1
a 0 0
p 2 0
p 0 2
b
e 2 1
e 0 2
R 1
b
p 9 7
a 9 7
i 7 7
a 6 6
b
f


Posted by eskimo on 30-09-2004 14:52:

ok fasa... mi hai tranquillizzato... :)

l'ultima cosa: ma l'input si digita tramite tastiera, vero? sul testo c'è scritto che leggo da stdin.... quindi dovrebbe essere da tastiera, il dubbio mi sorge perchè nei primi post del thread tanti parlavano di leggere da un file....
p.


Posted by fasa on 30-09-2004 14:55:

ho passato il tuo test skorpius tutto ok!!!


Posted by fasa on 30-09-2004 14:56:

ma skorpius tu usi liste semplici o cosa?


Posted by skorpius on 30-09-2004 15:06:

Originally posted by fasa
ma skorpius tu usi liste semplici o cosa?


Ottimo ! Funzia...

Si, in definitiva l'impostazione è la medesima: lista x le 1-celle inserite, lista x le k-celle con campo occupate ON/OFF e basta così.
Se l'utente chiede qualcosa dei blocchi, ecco che compare la lista dei blocchi, ma solo come appoggio temporaneo.
Ma io non ho finito: sto vedendo se in qualche modo si può aumentare la performance...


Posted by fasa on 30-09-2004 15:23:

lo so anch'io dovrei continuare a vedere se riesco a migliorare i tempi di esecuzione ma dopo 2 giorni a pensare come fare mi sono quasi convinto che sia impossibile migliorare il codice che ho fatto mantenendo le strutture pensate.io nn uso il campo on/off per le kcelle in definitiva faccio una solo struct.ma cosa ti serve quel campo?ti aiuta a fare meno ricerce o cosa?


Posted by skorpius on 30-09-2004 15:29:

on/off

beh, la mia lista delle k-celle include anche quelle libere.....quindi in caso di costruzione blocchi grazie a quel campo le salto subito senza fare ulteriori test.....


Posted by fasa on 30-09-2004 15:47:

ah beh...io nn mi preoccupo di inserire anche le kcelle nn occupate tanto nn servono a niente.


Posted by aghito on 30-09-2004 15:55:

devo solo finire l'elimina...
ho provato il test fino a dove ho potuto,cioè prima del primo e..
risultati come i vostri!!!
bella!

__________________
alessandro colombini


Posted by skorpius on 30-09-2004 16:11:

Originally posted by fasa
ah beh...io nn mi preoccupo di inserire anche le kcelle nn occupate tanto nn servono a niente.


ci sono pro e contro...metti che l'utente usi il comando r.
Io devo solo verificare se, in base al nuovo rapporto, ogni k-cella esistente è o meno libera...non devo creare nulla in questo caso, solo riaggiornare quel flag.


Posted by eskimo on 30-09-2004 16:33:

Ciao ho bisogno di aiutoooooo!
il compilatore mi torna sta roba:

<command line>:4:4: missing '(' after predicate

credo che sia un messaggio dell'opzione -ANSI solo che non so proprio che cazzo fare....
qualcuno l'ha già trovata?? la conosce??
thx! thx! :) :)


Posted by fasa on 30-09-2004 17:41:

per eskimo:si l'input è da tastiera anche se per tuoi controlli puoi leggere da un file gli input e nn star li a immettere tutti i comandi tu....xò quando lo consegni deve essere da tastiera l'input!


Posted by fasa on 30-09-2004 17:42:

per l'errore che dici nn so proprio di cosa si tratta!menomale che a me nn me lo da! :)


Posted by fasa on 30-09-2004 17:46:

skorpius hai ragione ti aiuta in quella funzione xò se fai come ho fatto io una funzione che mi crea la lista delle kcelle e la richiami ogni volta che devi ricrearti la lista(cioè in riempimento,risoluzione e inserisci)quel flag nn ti serve....xò così mi si incrementano i tempi di esecuzione delle funzioni...boh....bisogna vedere se ne vale la pena complicarsi la vita con il flag solo per diminuire il tempo di esecuzione di una funzione....


Posted by fasa on 30-09-2004 17:47:

qualcuno sa più o meno com'è un orale con l'aguzzoli?


Posted by skorpius on 01-10-2004 07:08:

Originally posted by fasa
...boh....bisogna vedere se ne vale la pena complicarsi la vita con il flag solo per diminuire il tempo di esecuzione di una funzione....


in effetti, penso che entrambe le scelte siano pienamente condivisibili....dopotutto, non si sa a priori quante volte un utente possa o meno chiamare un comando.....


Posted by eskimo on 01-10-2004 14:10:

bene, sono arrivato alla fine e non funge... forse ho anche capito gli errori ma: le funzioni da implementare che ci chiede lui, ad esempio crea(p, q, k) o inserisci(x, y) devono avere proprio quei parametri o possono essere modificate? cioè va bene fare una funzione inserisci(k, x, y) ad esempio se mi dovesse servire passare un altro valore oltre ad x e y???
grazie.... p.


Posted by ghily on 01-10-2004 16:04:

Originally posted by eskimo
bene, sono arrivato alla fine e non funge... forse ho anche capito gli errori ma: le funzioni da implementare che ci chiede lui, ad esempio crea(p, q, k) o inserisci(x, y) devono avere proprio quei parametri o possono essere modificate? cioè va bene fare una funzione inserisci(k, x, y) ad esempio se mi dovesse servire passare un altro valore oltre ad x e y???
grazie.... p.


anche io ho lo stesso problema. Praticamente le funzioni crea e inserisci non vanno come dovrebbereo. In più mi mancano da implementare le funzioni sui k-blocchi. Per cui mi sa che mi arrendo e che lo ridarò a gennaio.Speriamo in bene. Vedo già Goldwrun dietro l'angolo.......

Chao
Roby


Posted by eskimo on 01-10-2004 16:34:

Non so io me ne fotto altamente: le funzioni le adatto come mi pare, mancano due giorni e lo voglio funzionante...


Posted by fasa on 01-10-2004 17:56:

LE funzioni che il problema dice di fare devono essere come sono sulla traccia.anch'io avevo quei problemi....ho risolto usando 3 variabili globali....che l'aguzzoli nn dice di nn usare!
ci sono disponibili altri test?io consegno gia stanotte a mezzanotte xchè nn ne voglio più sapere di questo progetto nel week end!!!come va và!!!!Piu o meno quanti riusciranno a consegnare?


Posted by pincopallino on 01-10-2004 19:01:

Originally posted by fasa
...Piu o meno quanti riusciranno a consegnare?


a me manca da scrivere solo la relazione e poi dovrei consegnare....l'unico è che non ho fatto molti test sul progetto a parte quello delle specifiche e pochi altri....

__________________
"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 fasa on 01-10-2004 19:30:

beh quello anch'io...è per questo che sto cercando se qualcuno ha qualche test da postare.... :)
pincopallino ma tu che struttura dati hai usato?


Posted by ghily on 01-10-2004 20:26:

Originally posted by fasa
LE funzioni che il problema dice di fare devono essere come sono sulla traccia.anch'io avevo quei problemi....ho risolto usando 3 variabili globali....che l'aguzzoli nn dice di nn usare!
ci sono disponibili altri test?io consegno gia stanotte a mezzanotte xchè nn ne voglio più sapere di questo progetto nel week end!!!come va và!!!!Piu o meno quanti riusciranno a consegnare?


praticamente hai creato come variabili globali le lsite?? Se faccio così funziona anche a me. Mi apri uno spiraglio di luce. Ma finire il prgoetto in due giornate la vedo scura. In effetti aguzzoli non vieta le variabili globali. Consigliate di provarci? Non è che abbia tutta sta voglia....

chao
Roby


Posted by fasa on 01-10-2004 20:37:

esatto e oltre alle liste dichiaro 3 variabili globali anche per k, p e q.
secondo ti conviene provare...saRà difficile trovare altri progetti così "facili"... :)


Posted by Eruyomë on 01-10-2004 22:30:

Anch'io ho usato variabili statiche esterne, come lo mantieni memorizzato se no il piano, con tutte le operazioni che ci devi fare?

__________________
Io sono la fata verde. Sono la rovina e il rimpianto, la vergogna e il disonore. Io sono la morte, io sono l'assenzio...


Posted by ghily on 01-10-2004 22:41:

Originally posted by fasa
esatto e oltre alle liste dichiaro 3 variabili globali anche per k, p e q.
secondo ti conviene provare...saRà difficile trovare altri progetti così "facili"... :)


verissimo. Però ormai ho praticamente gettato la spugna. Dovevo pensarci prima. Ci proverò ancora, però visto che ho un 27 nella teroia non voglio fare un brutto progetto.
Chao
Roby


Posted by aghito on 01-10-2004 23:05:

ma io non penso che sia così restrittivo il progetto
io invece di crea(p,q,k) ho messo
crea(&root,&rootk,ap,aq,ak,parametro,indice,ris_k);
non penso sia così grave o sbaglio?

__________________
alessandro colombini


Posted by fasa on 01-10-2004 23:09:

IO HO APPENA CONSEGNATO cmq credo che su poche cose il progetto è restrittivo e una di queste sono le 8funzioni che ti dice di creare!o almeno credo di aver capito dal testo così!!!


Posted by fasa on 01-10-2004 23:14:

x ghily:nn so a che punto sei ma mi pare di aver capito che se dichiari le variabili in generale dovresti aver finito e allora cosa ti fa nn consegnare?considerando anche che mancano 2 giorni pieni ancora prima del termine della consegna!


Posted by ghily on 01-10-2004 23:54:

Originally posted by fasa
x ghily:nn so a che punto sei ma mi pare di aver capito che se dichiari le variabili in generale dovresti aver finito e allora cosa ti fa nn consegnare?considerando anche che mancano 2 giorni pieni ancora prima del termine della consegna!


Preso da nuovo stimolo mi sono messo a rilavorare sul progetto. Ora però ho messo ben 5 variabili globali..... Il progetto funziona bene.Ho praticamente già implementato crea,inserisci, modifica.
Ora faccio elimina poi vado a riposarmi. Domani devo fare assolutamente le funzioni sui blocchi.Però non so come fare per sapere quando ho finito la visita su quel blocco.. :? Ci penserò....

Non mollare mai

Chao
Roby

P.S: :lode: fasa


Posted by Dante on 02-10-2004 09:03:

Avevo fatto la funzione area e peso che mi dava i risultati giusti... ma poi mi sono accorto che erano sbagliate... uso una lista ke contiene le kcelle. con una funzione che scorre tutta la lista cerco, a partire dalla kcella data (a, x, y) le sue confinanti mettendo il loro flag a 1, poi scorro ancora la lista cercando quelle con flag nn a 1 e cerco le confinanti e le pongo a 1... così fino a fine lista... il problema è che se ci sono 2 kcelle confinanti, anche staccate dal kblocco a cui appartiene (a x y ), me le conta pure quelle, mi sbaglia il peso e nn so distinguerle per contare i blocchi... cazzo di budda... devo ripensare ancora la funzione area... come caspita si fa?


Posted by fasa on 02-10-2004 09:04:

per finire la visita di un blocco basta vedere quando l'ultima kcella del blocco nn ha più nuove kcelle adiacenti.

mi sa che mi sono spiegato da cane

scusa...


Posted by fasa on 02-10-2004 09:10:

dante nn ti conviene usare una lista blocco(come appoggio)dove inserisci con una funzione a parte tutte le tue kcelle del blocco?io ho fatto così e va alla grande!!!poi dopo mi basta scorrere quella lista e contare quanti elementi ha per trovare l'area!


Posted by Polo on 02-10-2004 09:43:

Quando Consegnate voi la copia cartacea
Dato che domenica il dipartimento è chiuso?


Posted by ghily on 02-10-2004 10:00:

Originally posted by Polo
Quando Consegnate voi la copia cartacea
Dato che domenica il dipartimento è chiuso?


Se lo fai con Aguzzoli: l'importante è mandarli il progetto via mail. Provvederai successivamente alla consenga della copi acartacea (io se riesco a finirla consegno il 4);

Se lo fai con Torelli: da quello che ho capito la devi consegnare il 4.

In sostanza cambia ben poco.....

IO voglio farcela a conseganre.....Anche alle 23.59 di domani senza aver fatto alcun test. Non fa nulla.

Chao
Roby


Posted by aghito on 02-10-2004 10:02:

be fiorentini dice di consegnare codice e relazione entro domenica e di lasciare cartaceo nella sua casella in comelico lunedì.

ho ufficialmente finito!!!
devo solo vedere se è il caso di rifare tutto con variabili globali
per avere crea(p,q,k)..invece di
crea(&root,&rootk,ap,aq,ak,parametro,indice,ris_k);

intanto funziona e ciò è importantissimo

__________________
alessandro colombini


Posted by Polo on 02-10-2004 10:03:

Quindi Conta come consegna quella E-mail ,te lo ha assicurato il prof?

Io ho finito ma dovrei fare oggi pomeriggio 60 km solo per consegnare una decina di fogli mi scazzerebbe un po.


Posted by aghito on 02-10-2004 10:05:

nell'email metti anche la relazione in pdf..quindi poi devi solo stamparla e consegnarla dopo

__________________
alessandro colombini


Posted by Polo on 02-10-2004 10:06:

ok grazie


Posted by fasa on 02-10-2004 10:09:

io via mail ho gia consegnato!la copia cartacea mi ha spiegato aguzzoli che la posso portare anche successivamente l'importante ora è la copia via mail!!!


Posted by Polo on 02-10-2004 10:34:

Be una buona notizia a voi da 1 a 10 quanto funziona il programma con gli input delle consegne?


Posted by aghito on 02-10-2004 11:17:

consegne 10
test dsy 10

__________________
alessandro colombini


Posted by fasa on 02-10-2004 11:17:

10!!!!


Posted by ghily on 02-10-2004 12:05:

help please

perchè quest istruzioni:

p -> next = stk -> top;
stk -> top = stk -> top -> next;

mi generano questo errore:
[Warning] assignement from incompatible pointer type

le variabili sono tutti puntatori, come si vede sul libro di algo....

se riesco a fare questo ho tutto pomeriggio per fare la funzione blocchi e stasera posso vedere il mio amore. Abbiate pietà...

:help:

chao
roby


Posted by fasa on 02-10-2004 12:26:

ma come sono dichiarati ste cose?


Posted by ghily on 02-10-2004 12:39:

Originally posted by fasa
ma come sono dichiarati ste cose?


ho risolto, grazie. Infatti era un problema di dichiarazione.Ora devo risolvere un altro problema (olte a quello della funzione blocchi()): come faccio a reimpostare tutti i flag uguali a zero senza stare ad andare a vedere tutti gli elementi???
grazie

chao
Roby


Posted by fasa on 02-10-2004 14:12:

nn credo tu possa far...devi reimpostare il flag elemento per elemento....cmq tutti sto flag usate....ma si può sapere a cosa vi serve?io nn ne uso neanche uno!la mia struttura è semplicissima...2 variabili di tipo int x le coordinate e un puntatore per puntare all'elemento successivo della lista e questo mi basta per implementare tutte le richieste del programma!!!! :)


Posted by aghito on 02-10-2004 14:26:

be per esempio io uso un flag per sapere se la kcella è piena e uno per sapere a che blocco appartiene..così ho solo la lista di 1celle e quella di kcelle..
se mi serve sapere le kcelle occupate faccio una scansione prendendo solo quelle col "flag" occupata a 1.
e poi non uso una struttura per i blocchi.
sono scelte e basta....

secondo voi bisogna liberare tutto prima di uscire o lo fa automaticamente?

cosa vi viene a voi con questo input?

c 5 2 6
c 25 3 5
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
b
e 0 0
e 1 1
e 2 0
R 1

i 1 2
i 1 2
i 1 3
i 2 4

e 0 0

p 1 0
a 1 0
b
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
e 0 0
f


a me

b:1
p:0
a:0
b:1

__________________
alessandro colombini


Posted by Dante on 02-10-2004 18:03:

grazie fasa, però sn riuscito a far funzionare (testati) area e peso usando i flag.

Ora nn riesco a far funzionare blocchi. Il primo problema è che ho sì un lista di kcelle, ma, a differenza della funzione area, nn ho una 1-cella di partenza come in a (x y)... così ho deciso di chiamare la funzione area con la prima 1-cella della lista delle 1-celle fino a che una di queste appartiene ad un kblocco.
A questo punto vedo se ci sono kcelle fuori dal blocco trovato. Se ci sono chiamo la funzione area su di loro... finchè nn ci sn più k celle senza un kblocco di riferimento. Ah, ogni volta che chiamo area l'effetto è quello di segnarle con un flag, cmq, anche se nn appartengono a un kblocco...
il problema è questo flag: per il primo kblocco che trovo il flag è 2, poi, dal secondo in avanti dovrebbe incrementarsi di 1 (quindi diventa 3), in modo da poter distinguere gli eventuali blocchi diversi alla fine e trovare il num ero di blocchi...
Nn mi riesce quest'ultima cosa: la numerazione con numeri diversi e quindi la rilevazione alla fine... UFFAAAAA!!!! mi manca solo questo.........................................................................!!!!!!!!!


Posted by Dante on 02-10-2004 18:05:

grazie fasa, però sn riuscito a far funzionare (testati) area e peso usando i flag.

Ora nn riesco a far funzionare blocchi. Il primo problema è che ho sì un lista di kcelle, ma, a differenza della funzione area, nn ho una 1-cella di partenza come in a (x y)... così ho deciso di chiamare la funzione area con la prima 1-cella della lista delle 1-celle fino a che una di queste appartiene ad un kblocco.
A questo punto vedo se ci sono kcelle fuori dal blocco trovato. Se ci sono chiamo la funzione area su di loro... finchè nn ci sn più k celle senza un kblocco di riferimento. Ah, ogni volta che chiamo area l'effetto è quello di segnarle con un flag, cmq, anche se nn appartengono a un kblocco...
il problema è questo flag: per il primo kblocco che trovo il flag è 2, poi, dal secondo in avanti dovrebbe incrementarsi di 1 (quindi diventa 3), in modo da poter distinguere gli eventuali blocchi diversi alla fine e trovare il num ero di blocchi...
Nn mi riesce quest'ultima cosa: la numerazione con numeri diversi e quindi la rilevazione alla fine... UFFAAAAA!!!! mi manca solo questo.........................................................................!!!!!!!!!


Posted by Dante on 02-10-2004 18:09:

grazie fasa, però sn riuscito a far funzionare (testati) area e peso usando i flag.

Ora nn riesco a far funzionare blocchi. Il primo problema è che ho sì un lista di kcelle, ma, a differenza della funzione area, nn ho una 1-cella di partenza come in a (x y)... così ho deciso di chiamare la funzione area con la prima 1-cella della lista delle 1-celle fino a che una di queste appartiene ad un kblocco.
A questo punto vedo se ci sono kcelle fuori dal blocco trovato. Se ci sono chiamo la funzione area su di loro... finchè nn ci sn più k celle senza un kblocco di riferimento. Ah, ogni volta che chiamo area l'effetto è quello di segnarle con un flag, cmq, anche se nn appartengono a un kblocco...
il problema è questo flag: per il primo kblocco che trovo il flag è 2, poi, dal secondo in avanti dovrebbe incrementarsi di 1 (quindi diventa 3), in modo da poter distinguere gli eventuali blocchi diversi alla fine e trovare il num ero di blocchi...
Nn mi riesce quest'ultima cosa: la numerazione con numeri diversi e quindi la rilevazione alla fine... UFFAAAAA!!!! mi manca solo questo.........................................................................!!!!!!!!!


Posted by pincopallino on 02-10-2004 19:10:

Originally posted by aghito
cosa vi viene a voi con questo input?

c 5 2 6
c 25 3 5
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
b
e 0 0
e 1 1
e 2 0
R 1

i 1 2
i 1 2
i 1 3
i 2 4

e 0 0

p 1 0
a 1 0
b
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
e 0 0
f


a me

b:1
p:0
a:0
b:1


anche a me viene:
1
0
0
1

ma avevo un bug che ho trovato grazie al tuo input....io però non gestisco le righe vuote secondo voi è un problema?

ho usato una lista di adiacenza dove memorizzo k_celle e rispettive celle che le "occupano", poi ho usato tre variabili globali una per la lista di k_celle, una per k ed una per il parametro di riempimento

__________________
"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 pincopallino on 02-10-2004 19:11:

Originally posted by aghito
cosa vi viene a voi con questo input?

c 5 2 6
c 25 3 5
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
b
e 0 0
e 1 1
e 2 0
R 1

i 1 2
i 1 2
i 1 3
i 2 4

e 0 0

p 1 0
a 1 0
b
c 25 3 5
i 1 2
i 1 2
i 1 3
i 2 4

i 5 5
i 5 6
i 5 7
i 6 5
e 0 0
f


a me

b:1
p:0
a:0
b:1


anche a me viene:
1
0
0
1

ma avevo un bug che ho trovato grazie al tuo input....io però non gestisco le righe vuote secondo voi è un problema?

ho usato una lista di adiacenza dove memorizzo k_celle e rispettive celle che le "occupano", poi ho usato tre variabili globali una per la lista di k_celle, una per k ed una per il parametro di riempimento

__________________
"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 pincopallino on 02-10-2004 19:13:

grazie aghito per il test...ho trovato un buggino nel mio programmino....cmq ora che ho risolto i risultati mi vengono come i tuoi

__________________
"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 aghito on 02-10-2004 19:38:

l'ho postato apposta perchè immaginavo di non essere il solo a trovare quel bug

__________________
alessandro colombini


Posted by ghily on 02-10-2004 21:56:

ragazzi una domanda:
ma l'output del prof a voi viene giusto??

Perchè a me la k-cella (5; 2,0) non la elimina perchè è occupata da tre celle e il parametro di riempimento è 4. Dove sbaglio???

:pccrash:

Ormai non penso di finirlo, quindi esco a divertirmi e domani a pranzo sono fuori.
Aguzzoli ci vediamo a gennaio :matrix:

Chao
Roby


Posted by contezer0 on 03-10-2004 08:43:

Originally posted by fasa
nn credo tu possa far...devi reimpostare il flag elemento per elemento....cmq tutti sto flag usate....ma si può sapere a cosa vi serve?io nn ne uso neanche uno!la mia struttura è semplicissima...2 variabili di tipo int x le coordinate e un puntatore per puntare all'elemento successivo della lista e questo mi basta per implementare tutte le richieste del programma!!!! :)


azpita! complimenti!
io e' un po' che ottimizzo ma uso comunque un po' di altra roba....
ma quindi ad esempio per calcolare il numero di blocchi, quante volte scorri questa lista?


Posted by contezer0 on 03-10-2004 08:46:

Originally posted by fasa
nn credo tu possa far...devi reimpostare il flag elemento per elemento....cmq tutti sto flag usate....ma si può sapere a cosa vi serve?io nn ne uso neanche uno!la mia struttura è semplicissima...2 variabili di tipo int x le coordinate e un puntatore per puntare all'elemento successivo della lista e questo mi basta per implementare tutte le richieste del programma!!!! :)


azpita! complimenti!
io e' un po' che ottimizzo ma uso comunque un po' di altra roba....
ma quindi ad esempio per calcolare il numero di blocchi, quante volte scorri questa lista?


Posted by VdM on 03-10-2004 10:41:

Documentazione...

Terminato il progetto, ora mi son bloccato sulla documentazione:

in pratica ho utilizzato 2 tabelle di hash, una per le 1-celle e una per le k-celle. I tempi di inserimento e rimozione sono oltremodo efficienti. Il calcolo dell'area, peso e blocchi avviene sulla tabella di k-celle. Supposto che vi siano di norma più inserzioni/cancellazioni/modifiche che non richiame ad area,pesi e blocchi, alla chiamata di queste ultime operazioni eseguo la ricerca "al volo" delle k-celle adiacenti per ogni k-cella, controllando per ogni k-cella nell'intorno delle 8 adiacenti (se esistono); ogni cella così trovata, se non ancora visitata, viene posta in una coda ausiliaria; vengono così "espanse" le celle trovate per prime. Se la coda si svuota, vuol dire che non abbiamo più k-celle adiacenti. Ogni elemento rimosso dalla coda è marcato come "visited" nella k-tabella hash, per cui viene escluso da ulteriori ricerche.
La cosa funge (i test sono ok); per i k-blocchi basta iterare sulla k-tabella finchè ci sono k-celle piene e non ancora visitate.
Il prolema che mi si pone è il calcolo del tempo di esecuzione: a "manina" infatti risulterebbe quadratico (credo che incida la ricerca al volo delle celle adiacenti). Purtroppo 'sto tempo sembra dipendere da parecchi fattori: in primis la risoluzione impostata, poi la distribuzione dei blocchi, nonchè (la +ostica) la continua espansione/contrazione della coda...
Su quache riferimento ho trovato un algoritmo simile, di tempo O(d^2 * N^2), dove d è una costante (nel mio caso, 1/k, la risoluzione...). Ovviamente per d piccolo (= k grande) e N grande, l'algo viene praticamente considerato lineare... Ma io come diavolo lo recupero e lo scrivo il presunto tempo di esecuzione?? Gia' non ci ho dormito tutta notte, se qualcuno ha suggerimenti...

Grazie e buona domenica a tutti :)

Gabriele


Posted by Dante on 03-10-2004 11:55:

Caro ghily siamo in 2...

anche a me gli output del prof nn risultano più dopo r (25 4)... e le mie funzioni area e peso sono giuste... le ho provate con altri input... mah...

ci rinuncio e ripasso a gennaio... (che avrò anche reti e basi) ma è la quarta volta che ci provo... e se nn lo passo a gennaio devo rifare lo scritto........ ma siamo matti?

__________________
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 Polo on 03-10-2004 14:41:

anche a me dava l'errore di Dante. l'ho risolto mettendo in una variabile di tipo double il risultato di k * k * r (r è p/q)
perchè altrimente con alcuni valori ,25 4 ad esempio con k = 5,si mangiava can la variabile di tipo int il resto della virgola trasformando per esempio un 2,9 in 2.


Posted by Dante on 03-10-2004 16:28:

Eh, ma cmq nn si deve arrotondare per difetto?

__________________
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 ghily on 03-10-2004 17:49:

Originally posted by Dante
Eh, ma cmq nn si deve arrotondare per difetto?


io non ho arrodontato per difetto. Ho approssimato all'intero più grande (non so il perchè ma almeno così il risultato veniva più vicino a quello del prof). Il fatto che tu ci abbia provato altre quattro volte non mi metto di buonumore.... A me alla fine mancava solo la funzione blocchi.Ma ormai è troppo tardi. Anche io a gennaio devo fare sia reti che basi.In più devo fare anche informatica grafica. :shock:

In bocca al lupo a chi ha consegnato e fateci sapere quali erano le strutture migliori. Almeno impariamo qualche cosa anche se non consegnamo.

Chao
Roby


Posted by contezer0 on 03-10-2004 18:58:

Originally posted by Polo
anche a me dava l'errore di Dante. l'ho risolto mettendo in una variabile di tipo double il risultato di k * k * r (r è p/q)
perchè altrimente con alcuni valori ,25 4 ad esempio con k = 5,si mangiava can la variabile di tipo int il resto della virgola trasformando per esempio un 2,9 in 2.


azpita ragazzuoli!
avevo postato un metodo per fare tutto con gli interi che funziona
egregiamente, qualche pagina fa...
se e' solo per quello che non consegnate e' davvero un peccato!!!

io sto per mandare...l'ho finito da un po' ma mi sono impantanato sulla relazione :)

riassumendo....ecco i miei costi
inserimento O(lgN)
eliminazione O(lgN)
cambio riempimento O(N)
cambio risoluzione O(N)
blocchi aree e peso O(N)


Posted by ghily on 03-10-2004 19:20:

Originally posted by contezer0
azpita ragazzuoli!
avevo postato un metodo per fare tutto con gli interi che funziona
egregiamente, qualche pagina fa...
se e' solo per quello che non consegnate e' davvero un peccato!!!

io sto per mandare...l'ho finito da un po' ma mi sono impantanato sulla relazione :)


no, non era solo quello. Anche la funzione blocchi non sapevo come farla. Per area e peso ho scritto una ritondante procedura molto brutta. Insoma era olto brutto. Poi visto che avevo un 27 nella teoria mi dispiaceva perderlo con un progetto mediocre.
Amen

Chao
Roby


Posted by fasa on 03-10-2004 19:22:

io nella funzione blocchi la listA delle kcelle la scorro solo una volta....prendo il primo elemento e ricreo tramite una funzioncina il blocco(qui riscorro ovviamente la lista delle kcelle) a cui appartiene la metto in una lista d'appoggio e incremento un contatore,poi prendo la seconda kcella e vedo se c'è nella lista d'appoggio,se nn c'è richiamo ancora la funzioncina crea blocchi e la lista creata la concateno con la precedente lista appoggio e incremento ancora cont se invece c'era nn fa niente e passa alla nuova kcella.

tempo di esecuzione al max O(n^2).

l'unico problema del mio codice sono appunto i tempi di esecuzione che potrebbero essere migliorati anche se xò nn vedo come si possa migliorare inserendo solo un flag nella struttura delle celle....


Posted by fasa on 03-10-2004 19:29:

in pratica la mia soluzione ha:
-una struttura per le celle(1celle o kcelle che siano),formata da 2 var di tipo int e un puntatore di tipo celle al prox elemento
-2 liste(1 x le 1celle e 1 x le kcelle)globali
-3 var globali(1 per k 1 per p e 1 per q)
-le funzioni richieste dal problema
-2 funzioncine di supporto,1 per calcolare la lista delle kcelle quando inserisco una 1cella oppure quando cambio il fattore di riempimento oppure quando cambio la risoluzione
e 1 per crearmi la lista del blocco per la kcella richiesta.


Posted by fasa on 03-10-2004 19:30:

chi ha consegnato come ha implementato il progetto?


Posted by contezer0 on 03-10-2004 19:46:

Originally posted by fasa
chi ha consegnato come ha implementato il progetto?


io lo racconto domani...o fra 4 ore :)

comunque posso anticipare che nell'applicazione reale, su sequenze di comandi abbastanza lunghe (piu' di 10mila) il mio progetto batte anche il costo logaritmico :)

spero solo di cavarmela altrettanto bene all'orale


Posted by contezer0 on 03-10-2004 20:12:

A proposito...io ho scritto anche un generatore di input...domani c'e' qualcuno in silab? facciamo dei test incrociati di velocita' su
input giganteschi?


Posted by ghily on 03-10-2004 20:35:

Originally posted by contezer0
A proposito...io ho scritto anche un generatore di input...domani c'e' qualcuno in silab? facciamo dei test incrociati di velocita' su
input giganteschi?


noooooooooooooooooooo
ho risolto il problema........ Era sbagliata la funzione di elimina. Ora ho due ore per scrivere la funzione blocchi, il main e la relazione

ci provo lo stesso....

ma c'è anche l'inter........


Posted by contezer0 on 03-10-2004 21:20:

Originally posted by fasa
io nella funzione blocchi la listA delle kcelle la scorro solo una volta....prendo il primo elemento e ricreo tramite una funzioncina il blocco(qui riscorro ovviamente la lista delle kcelle) a cui appartiene la metto in una lista d'appoggio e incremento un contatore,poi prendo la seconda kcella e vedo se c'è nella lista d'appoggio,se nn c'è richiamo ancora la funzioncina crea blocchi e la lista creata la concateno con la precedente lista appoggio e incremento ancora cont se invece c'era nn fa niente e passa alla nuova kcella.

tempo di esecuzione al max O(n^2).


la funzione crea blocchi che complessita' ha?


Posted by fasa on 03-10-2004 21:28:

Per contezer0:La mia funzione creablocchi ha complessità O(n^2)perchè?


Posted by contezer0 on 03-10-2004 21:34:

Originally posted by fasa
Per contezer0:La mia funzione creablocchi ha complessità O(n^2)perchè?


se la chiami al piu' n volte allora la complessita' totale della funzione che conta i blocchi non e' n^3?


Posted by fasa on 03-10-2004 22:03:

mi hai fatto venire un dubbio e sono andato a ricontrollare...e hai ragione è n^3!


Posted by fasa on 03-10-2004 22:25:

una domanda...3cicli annidati che vanno tutti da 1 a n danno come costo n^3?giusto?


Posted by contezer0 on 03-10-2004 22:29:

comunque domani rilascio il codice per chiunque voglia dare un'occhiata o suggerirmi qualche miglioramento...anche comincia a venirmi un po' di nausea :)

in ogni caso...sarebbe interessante verificare i vari tempi di
esecuzione dei nostri progetti su input uguali e di dimensioni
significative...che dite? facciamo un "torneo"? se non siete
troppo gelosi dei vostri sorci e me li spedite, domani in laboratorio
faccio qualche esperimento e posto qua i risultati!
sono piuttosto curioso di far gareggiare il mio con quello(i) basato(i) su tabelle hash!


Posted by contezer0 on 03-10-2004 22:30:

Originally posted by fasa
una domanda...3cicli annidati che vanno tutti da 1 a n danno come costo n^3?giusto?


penso proprio di si...se due cicli danno n^2, ne annidi un altro e moltiplichi ancora per n


Posted by fasa on 03-10-2004 22:40:

grazie contezer.per quanto riguarda i tempi io credo di nn essere un gran che però la struttura che ho usato è semplicissima da implementare e questo mi piace!


Posted by aghito on 03-10-2004 22:48:

PANICO!!

stavo trasformando la relazione in pdf finita la partita ma acrobat ha crashato..riavvio e non parte più il pc!!!
ho provato varie volte ma niente.non mi mostrava niente a parte una schermata blu..alla fine da li l'unica cosa che va è il task manager.killando il processo explorer poi si è ripreso...nel frattempo avevo spedito le cose dal pc di mio zio che abita 2 piani sotto...
che paura però!!

ciao

__________________
alessandro colombini


Posted by contezer0 on 03-10-2004 23:22:

ola'!
spero di non aver fatto una vaccata a postare il mio progetto in area filez a soli 20 minuti dalla scadenza...ma ormai i giochi son fatti no?

a richiesta posso anche fornire la versione grafica, ma quest'ultima fuziona solo sotto linux/unix con X11 e non in console


Posted by sirio on 04-10-2004 12:37:

Non si sa ancora nulla......, mi tocca consegnare il cartaceo senza sapere se l'ho passato :-(


Posted by d0k on 04-10-2004 20:42:

Ho consegnato, per la discussione dove come quando? Qualcuno sa info a riguardo???
d0k

__________________
o sei parte della soluzione o sei parte del problema.

recensioni libri informatica


Posted by aghito on 05-10-2004 15:10:

bella fiorentini mi ha risposto che funziona il mio programma!!!

__________________
alessandro colombini


Posted by bat-erika on 05-10-2004 15:39:

Anche a me ha detto che funziona.
C'è qualcuno che sa qualcosa riguardo alle date della discussione?

Non è che tutti abbiamo espresso la stessa preferenza vero? :D

__________________

"Li peccati li chiangi, ci nu li chiangi osce li chiangi crai, ma sempre ca l'hai chiangire ete..."
"No hay mal que no venga por bien..."

"Todo te lo tragaste, como la lejanía. Como el mar, como el tiempo.Todo en ti fue naufragio!" (Pablo Neruda)


Posted by skorpius on 05-10-2004 15:55:

discussione

credo che per le date bisogni tenere d'okkio il sito di Fiorentini....


Posted by sirio on 06-10-2004 12:36:

Ok sono uscite le date sul sito di fiorentini.
Non ho capito una cosa, ma il progetto si discute sempre? Oppure si baypassa e si va direttamente all'orale con Torelli?


Posted by daddyrho on 06-10-2004 12:58:

Originally posted by sirio
Ok sono uscite le date sul sito di fiorentini.
Non ho capito una cosa, ma il progetto si discute sempre? Oppure si baypassa e si va direttamente all'orale con Torelli?


Ma x le date di Aguzzoli si sa qualcosa?:?

__________________
()


Posted by Eruyomë on 06-10-2004 22:31:

Qualcuno ha già fatto l'orale con Aguzzoli e sa dire, per favore, che genere di orale sia?
Del tipo per vedere se hai copiato, orale tranquillo o un po' più impegnativo?

__________________
Io sono la fata verde. Sono la rovina e il rimpianto, la vergogna e il disonore. Io sono la morte, io sono l'assenzio...


Posted by Lunik on 07-10-2004 07:12:

Originally posted by contezer0
ola'!
spero di non aver fatto una vaccata a postare il mio progetto in area filez a soli 20 minuti dalla scadenza...ma ormai i giochi son fatti no?

ehm infatti è stato tolto xè il progetto era ancora in corso... anche se mancavano 20 minuti, è il regolamento.
cmq quando il prof dirà che nessun altro può consegnare il progetto, ripostalo pure...

ciao! :)

__________________
Il DSY su Facebook!!!


Posted by daddyrho on 07-10-2004 10:23:

Calendario orali Prof. Aguzzoli link

__________________
()


Posted by Polo on 07-10-2004 13:38:

ma anche Aguzzoli manda le Mail se il progetto funziona perchè a me non è ancora arrivato nulla???


Posted by Bloody on 07-10-2004 14:05:

Originally posted by Eruyomë
Qualcuno ha già fatto l'orale con Aguzzoli e sa dire, per favore, che genere di orale sia?
Del tipo per vedere se hai copiato, orale tranquillo o un po' più impegnativo?


non e' per niente impegnativo..... ti fa praticamente rifare su carta gli algoritmi che hai implementato in c e ti chiede alcuni dettagli sul loro funzionamento, niente di impossibile, vai tranquillo!

__________________
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 Eruyomë on 07-10-2004 22:29:

grazie, ah anche a me non ha rispedito nulla Polo

__________________
Io sono la fata verde. Sono la rovina e il rimpianto, la vergogna e il disonore. Io sono la morte, io sono l'assenzio...


Posted by beyonce_21 on 08-10-2004 11:39:

invece l'orale di fiorentini e torelli com'è ?

__________________
think before you act ...


All times are GMT. The time now is 15:27. Pages (2): « 1 [2]
Show all 257 posts from this thread on one page

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