.dsy:it. Pages (3): « 1 [2] 3 »
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 "CONTROLLO REMOTO" (http://www.dsy.it/forum/showthread.php?threadid=16306)


Posted by Teju on 14-01-2005 16:27:

Io invece pensavo ad un albero binario in cui ho un nodo e il figlio sinistro è un automa di nome più lungo con almeno uno 0 dopo il nome del nodo padre e con un 1 il figlio destro...
NON occupo ovviamente tutto l'albero, ma purtroppo alcuni nodi vuoti mi capiteranno....

PHP:

-------------------------- 000n -------------------------------------
------------------- 0000a --- 000111111111a -----------------


dove c'è a = è un automa, n = non è un automa

__________________
Teju.it - Una vita da raccontare


Posted by dirkpitt on 14-01-2005 16:39:

Una domanda forse stupida, ma che è meglio avere capito chiaramente. Il rettangolo R(x0,y0,x1,y1) che rappresenta un ostacolo, graficamente è così:

----------------------- (x1,y1)
| |
| |
(x0,y0) -----------------------

vero? Cioè, le coordinate rappresentano i vertici giusti o l'avete interpretato in un modo differente?

Edit:
cavolo, esce uno schifo. In parole povere, il punto (x0,y0) equivale al vertice in basso a sinistra del rettangolo e il punto (x1,y1) equivale a quello in alto a destra, giusto?

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 14-01-2005 16:46:

x0,y0 indicano l'angolo in basso a sinistra del rettangolo, x1,y1 l'angolo in alto a destra, proprio come hai detto tu.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Dav83 on 14-01-2005 16:48:

si dovrebbe essere proprio così...
per quanto riguarda l'input io memorizzo la riga di comando in un vettore [512]. Se controllate l'input non può essere più lungo di 330 e spiccioli caratteri...dopodichè ho trovato un funzione strtok che separa i caratteri letti con gli spazi e li memorizzo...

__________________
Ciao miao bau


Posted by LoneWolf on 14-01-2005 16:51:

Originally posted by Dav83
si dovrebbe essere proprio così...
per quanto riguarda l'input io memorizzo la riga di comando in un vettore [512]. Se controllate l'input non può essere più lungo di 330 e spiccioli caratteri...dopodichè ho trovato un funzione strtok che separa i caratteri letti con gli spazi e li memorizzo...

Scusa, ma così poni un limite massimo alla lunghezza della stringa letta da tastiera, e quindi alla lunghezza del nome (prefisso) dell'automa e alle operazioni di movimento.
Pur essendoci un limite di sistema come hai detto tu, il prof vuole che non lo si consideri...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 16:56:

Originally posted by LoneWolf
Ragazzi, qualcuno ha avuto come me e Teju la malsana idea di utilizzare gli alberi?
Abbiamo trovato due implementazioni differenti di alberi che potrebbero andare bene.

Altro quesito: ricordate se a lezione hanno sconsigliato l'utilizzo degli alberi radicati con un numero illimitato di figli (pagina 201 di Introduzione agli Algoritmi)?


Io sto facendomi qualche conto ancora, e sto valutando le seguenti alternative:
1)Albero binario di ricerca con una funzione che ad ogni inserimento/cancellazione mi verifica se l' albero è bilanciato in altezza, se si ok se no, lo bilancia;
2)Alberi RB, che sinceramente vorrei evitare...
3)B-alberi

ancora sto cercando di capire quale di queste potrebbe essere la migliore...


Posted by joe.satriani on 14-01-2005 17:14:

per quel che riguarda le stringhe io (anche se con pochi esempi) non ho problemi a dichiararle char *n e a scorrerle con cicli del tipo:
for(k = 0;k != strlen(n);k++){
printf("%c\n", n[k]);
}*/
la mia idea per quanto riguarda la struttura degli automi è di utilizzare una lista ordinata lessicograficamente (con la funzione strcmp(s1, s2) )anche se si parla solo di uni e zeri. questo mi consente di avere una lista che ha i nomi con uno stesso prefisso tutti consecutivi.
qualcuno mi sa dare un straccio di codice per inserimento ordinato in lista uni-direzionale?


Posted by LoneWolf on 14-01-2005 17:20:

Originally posted by p2p
Io sto facendomi qualche conto ancora, e sto valutando le seguenti alternative:
1)Albero binario di ricerca con una funzione che ad ogni inserimento/cancellazione mi verifica se l' albero è bilanciato in altezza, se si ok se no, lo bilancia;
2)Alberi RB, che sinceramente vorrei evitare...
3)B-alberi

ancora sto cercando di capire quale di queste potrebbe essere la migliore...

1) Ad ogni inserimento però devi controllare l'albero e se è sbilanciato ribilanciarlo, che ti costa parecchio tempo di calcolo, soprattutto su input molto grandi (tanti automi).
2) :sbocco: Che sbattimento!
3) Un B-albero si avvicina molto alla struttura a cui ho pensato io, cioé nodi con più figli, ma senza tenere i puntatori a ciascun figlio...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 17:36:

Originally posted by LoneWolf
1) Ad ogni inserimento però devi controllare l'albero e se è sbilanciato ribilanciarlo, che ti costa parecchio tempo di calcolo, soprattutto su input molto grandi (tanti automi).
2) :sbocco: Che sbattimento!
3) Un B-albero si avvicina molto alla struttura a cui ho pensato io, cioé nodi con più figli, ma senza tenere i puntatori a ciascun figlio...


1) Si infatti tale operazione richiede tempo lineare alle dimensioni dell' albero(che se l' albero è piccolo non andrebbe neanche male...ma se è grande non va bene), ma,se non erro, puo' addirittura diventare quadratico,nel caso incui inserisco una sequenza di chiavi tra due bilanciamenti....;scartato!
2)Quoto!!!
3)mi concentro su questo.


Posted by p2p on 14-01-2005 17:57:

stavo valutando i costi di un po' tutto quello che possiamo usare, e ho letto su un libro(non il nostro di testo)un interessante paragone tra alberi bin, alberi bin con inserimento allar adice,alberi randomizzati,RB alberi e tanti altri...
risultato:gli RB sono in asoluto i piu' performanti...
azz...


Posted by LoneWolf on 14-01-2005 18:05:

Originally posted by joe.satriani
per quel che riguarda le stringhe io (anche se con pochi esempi) non ho problemi a dichiararle char *n e a scorrerle con cicli del tipo:
for(k = 0;k != strlen(n);k++){
printf("%c\n", n[k]);
}

Scusa, ma io continuo a non capire come si possa implementare una lettura da tastiera simile; all'n che hai scritto tu devi dare per forza un valore, limitando quindi l'input.
Peraltro, devi prima allocare memoria per scrivere i char che ricevi da tastiera, e controllare di non averla esaurita se stai ancora leggendo, nel qual caso devi allocarne altra.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 14-01-2005 18:07:

Originally posted by p2p
stavo valutando i costi di un po' tutto quello che possiamo usare, e ho letto su un libro(non il nostro di testo)un interessante paragone tra alberi bin, alberi bin con inserimento allar adice,alberi randomizzati,RB alberi e tanti altri...
risultato:gli RB sono in asoluto i piu' performanti...
azz...


In assoluto sono anche i più difficili da implementare!

:sbocco:

Comunque stasera mi rileggo la teoria sugli RB-alberi e valuto se abbandonare i B-alberi moddati che avevo pensato di utilizzare.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 18:11:

Originally posted by LoneWolf
In assoluto sono anche i più difficili da implementare!

:sbocco:

Comunque stasera mi rileggo la teoria sugli RB-alberi e valuto se abbandonare i B-alberi moddati che avevo pensato di utilizzare.


Si si concordo con te che sono un casino... infatti stavo valutando anche altro, ad esempio ho guardato gli alberi randomizzati,che comunque sembra garantiscano prestazioni medie molto buone, non credo che se mi faccio il culo sugli RB avro' un voto molto piu' alto che se implementassi un albero randomizzato o un B-albero fatto bene... quindi..


Posted by marchinkus on 14-01-2005 20:43:

partendo dall'input " N20W40": come diavolo fate a suddividere il primo comando N20 dal secondo W40??????????


Posted by marchinkus on 14-01-2005 20:46:

se non risolvete il problema del segnale, è inutile partire in quarta pensando già alle strutture da implementare...non farete molta strada


Posted by p2p on 14-01-2005 21:01:

Originally posted by marchinkus
partendo dall'input " N20W40": come diavolo fate a suddividere il primo comando N20 dal secondo W40??????????

non so ma intuitivamente divido i numeri dalle lettere...


Posted by Teju on 14-01-2005 23:50:

Originally posted by p2p
non so ma intuitivamente divido i numeri dalle lettere...

io ho provato con la doppia scanf (prima su un char e poi su un int) in un ciclo fino a fine riga, ma mi da ancora qualche piccolo problemino, ma lo risolverò! :D
Altrimenti lo si legge come stringa e lo si scorre cercando se il contenuto è carattere o numero e fare un po' di moltiplicazioni per 10 dei numeri se i successivi sono ancora numeri....

Ma te l'ho detto, queste sono idee buttate giù veloci, avevo altri problemi prima da risolvere! :D :D

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 16-01-2005 16:15:

scusate, ma voi alla crea() le fate inizializzare la struttura che conterra gli automi?o le fate fare altro?


Posted by Teju on 16-01-2005 16:21:

Originally posted by p2p
scusate, ma voi alla crea() le fate inizializzare la struttura che conterra gli automi?o le fate fare altro?

Io credo debba inizializzare anche la struttura degli ostacoli, no?

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 16-01-2005 16:28:

Originally posted by Teju
Io credo debba inizializzare anche la struttura degli ostacoli, no?

si... anche secondo me....
ancora una cosina... voi come vi state organizzando con i file? nel senso, state facendo un file unico con funzioni, main ecc... o fate dei file.h che importate....?

EDIT. guardando qualche vecchio progetto sono effettivamente tutti in un file... va beh faro' cosi anch io ma era solo per avere un ordine migliore...


Posted by LoneWolf on 16-01-2005 18:59:

Credo che questo possa tornare molto utile a tutti:
http://wwwwbs.cs.tu-berlin.de/user-..._Utilities.html

EDIT: Aggiungo un altro link, ma fate attenzione perché è una pagina HTML da 4 mega, contenente un manuale in inglese sulle librerie C
http://www.gnu.org/software/libc/ma..._mono/libc.html

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 17-01-2005 12:19:

Piccola curiosità...
Il dato "direzione" dentro l'automa serve solamente se il segnale comincia per "A" oppure se direzione=W segnale=E11 conto come un movimento il cambiare da W a E?!?

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 17-01-2005 12:51:

Teju, non ho capito bene la domanda...

Io ne ho una: ma l'output a video deve apparire quando si digita f per la fine dei comandi o subito dopo che si dà un comando p?


Posted by Teju on 17-01-2005 12:55:

Originally posted by andrea
Teju, non ho capito bene la domanda...

Esempio pratico: ho l'automa 001 con x=1 y=2 D=W.
Arriva il segnale "s 00 E23".
Devo muovermi verso E per 23 oppure il fatto che cambia W in E mi fa perdere un passaggio, dunque mi devo muovere a E di 22?? E' più chiara così?

Originally posted by andrea
Io ne ho una: ma l'output a video deve apparire quando si digita f per la fine dei comandi o subito dopo che si dà un comando p?

Bel quesito... :D Prova a chiederlo a Fiorentini, magari ti risponde in maniera più simpatica che a LoneWolf! :D

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 17-01-2005 12:59:

Sì, è più chiara. Onestamente non saprei, forse facendo i conti dell'esmpio fatto da lui nel test del progetto si riesce a capire. Stasera ci provo.


Posted by p2p on 17-01-2005 13:34:

Originally posted by Teju
Esempio pratico: ho l'automa 001 con x=1 y=2 D=W.
Arriva il segnale "s 00 E23".
Devo muovermi verso E per 23 oppure il fatto che cambia W in E mi fa perdere un passaggio, dunque mi devo muovere a E di 22?? E' più chiara così?


secondo me devi muoverti di 23;guarda l' esempio a pag4 se noti l' automa 010 è 12 3 N , + sotto cè il 1° comando,cioe' s 01 A3, poi ancora stampa (p 0) se vai a vedere l' output vedrai 010: 12, 6, N

Originally posted by andrea
Io ne ho una: ma l'output a video deve apparire quando si digita f per la fine dei comandi o subito dopo che si dà un comando p?

secondo me subito dopo ogni comando va eseguita l' azione corrispondente(pag 3 "Quando una linea è letta, viene eseguita l' operazione associata: ...")


Posted by LoneWolf on 17-01-2005 13:48:

X Teju:
Credo che ci si perda uno spostamento solo se il cambio di direzione avviene in movimento, non se cambia da fermo.

X andrea:
L'output viene generato solo dall'operazione p, quando inserisci f il programma si interrompe senza output.

X p2p:
Nella crea() devi svuotare/inizializzare tutte le strutture dati che utilizzi per organizzare il piano, gli automi e gli ostacoli; ovviamente, saranno vuote, quindi avrai dei puntatori a NULL.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 17-01-2005 13:55:

scusate se ripeto la domanda... ma voi inserite tutto in un unico file o suddividete?


Posted by andrea on 17-01-2005 14:06:

a me non piace tanto, ma io inserisco tutto in un solo file, mi pare che il testo parli di due files, uno il programma e l'altro la relazione


Posted by mitnik on 17-01-2005 14:32:

come avete risolto la divisione della stringa in input segnale? (tipo s 1001 N10S4)
mi dareste qualche indicazione

grazie


Posted by joe.satriani on 17-01-2005 15:13:

ragazzi, ma voi che strutture state usando visto che le liste sono le più sconsigliate?


Posted by andrea on 17-01-2005 15:15:

visto che la cosa ha lasciato parecchi dubbi a tutti, io gestisco le stringhe i cui parametri hanno formati diversi con la getchar. Prendo un carattere alla volta, lo metto in una lista. Quando c'è uno spazio significa che il parametro è terminato. Questa cosa dovrebbe consentire, se uno vuole, di fare tutti i controlli che si vogliono (anche se non sono richiesti) sulle stringhe in input.


Posted by p2p on 17-01-2005 15:27:

Originally posted by joe.satriani
ragazzi, ma voi che strutture state usando visto che le liste sono le più sconsigliate?

io sto usando un RB albero per gli automi e penso usero' una lista per gli ostacoli... è vero che la lista non è efficiente,xò gia' mi sto faceno un mazzo per cercar di tirar fuori qualcosa dall rb, figuriamoci mettersi ad usare tabelle hash o altro...non vorrei incasinarmi piu' di quello che son gia' :)


Posted by joe.satriani on 17-01-2005 15:41:

ma il problema è che se si vuole sapere se un punto è in uno o più ostacoli bisogna valutarli tutti, o quasi perche io credo che si possono non considerare solo ostacoli completamente inclusi in altri che credo sia un caso molto raro...


Posted by LoneWolf on 17-01-2005 16:51:

Un dubbio tremendo mi attanaglia: sto scrivendo lo pseudo codice dell'operazione posizione().
Ho notato che nell'esempio del progetto l'output è ordinato in base al nome dell'automa; il problema è che se usiamo una lista per gli automi è ovvio che ci verranno ordinati in output, ma se utilizziamo un albero (di qualsiasi tipo) non lo saranno.

Per cui, l'output deve essere ordinato?
Se si, è un invito implicito ad usare le liste o un ennesimo tentativo di incasinarci la vita?

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 17-01-2005 16:54:

Originally posted by p2p
io sto usando un RB albero per gli automi [...]

Non so se considerarti un temerario o un folle!:D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 17-01-2005 16:56:

Originally posted by joe.satriani
ma il problema è che se si vuole sapere se un punto è in uno o più ostacoli bisogna valutarli tutti, o quasi perche io credo che si possono non considerare solo ostacoli completamente inclusi in altri che credo sia un caso molto raro...

E' una situazione talmente rara che non la considero nemmeno, inoltre è possibile che ti venga richiesto di rimuovere un ostacolo grande, pur mantenendo il piccolo.

Io scorro tutta la lista di ostacoli alla ricerca di almeno uno che contenga l'automa, nel qual caso non creo l'automa.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LazerPhEa on 17-01-2005 16:58:

Mah... io seguirei il consiglio di Torak... provate il prossimo appello! :D :D

:ciaoo:

__________________
Questo è il giardino
Dove il principe muore
Nessun sentiero
Nessun destriero
Soltanto un nome... Eterno...


Posted by LoneWolf on 17-01-2005 17:04:

Originally posted by LazerPhEa
Mah... io seguirei il consiglio di Torak... provate il prossimo appello! :D :D

:ciaoo:

Aveva ragione la tua tipa, sei troppo irritante!:D :D :D

:ciaoo: Paolo!

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 17-01-2005 17:06:

Originally posted by LoneWolf
Non so se considerarti un temerario o un folle!:D


un folle :)
guarda, se non riesco, uso un albero binario di ricerca con una funzione per ribilanciarlo ad ogni cancellazione/inserimento e pace! + lista x ostacoli ovviamente!


Posted by LoneWolf on 17-01-2005 17:09:

Originally posted by p2p
un folle :)
guarda, se non riesco, uso un albero binario di ricerca con una funzione per ribilanciarlo ad ogni cancellazione/inserimento e pace! + lista x ostacoli ovviamente!

Visto che anche tu stai utilizzando un albero, che mi dici sulla mia domanda dell'ordinamento dell'output?

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LazerPhEa on 17-01-2005 17:12:

Originally posted by LoneWolf
Aveva ragione la tua tipa, sei troppo irritante!:D :D :D

:ciaoo: Paolo!

:asd:

Ok, dai... vi lascio all'ingrato compito! :)
:ciaoo:

__________________
Questo è il giardino
Dove il principe muore
Nessun sentiero
Nessun destriero
Soltanto un nome... Eterno...


Posted by p2p on 17-01-2005 18:05:

Originally posted by LoneWolf
Visto che anche tu stai utilizzando un albero, che mi dici sulla mia domanda dell'ordinamento dell'output?

perchè non vengono ordinati con un albero ? scusa se non mi è chiaro, ma ancora non sono li e devo ancora rivedermi la parte di ricerca ...


Posted by LoneWolf on 17-01-2005 18:14:

Originally posted by p2p
perchè non vengono ordinati con un albero ? scusa se non mi è chiaro, ma ancora non sono li e devo ancora rivedermi la parte di ricerca ...

Immagina l'albero così:

--------- 0 ------------
-- 00 -------- 01 ----
000 001 --- 010 011

Se fai una ricorsiva che attraversa prima il figlio sinistro, poi la radice, infine il figlio destro, l'ordinamento finale sarà:
000
00
001
0
010
01
011

Ovviamente non sono ordinati.
Facciamo pure che il prefisso sia 01, l'output sarà:
010
01
011

L'unico sistema per avere l'output ordinato sarebbe sfogliare ciascun livello dell'albero da sinistra a destra, poi procedere al livello successivo.

Che ne dici?

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 17-01-2005 18:18:

Se invece ordini nel seguente modo:
radice->figlio sinistro->figlio destro, l'output è:
0
00
000
001
01
010
011

No, in effetti così i conti tornano...:shock:
Mi sono fatto ingannare dalla lunghezza delle stringhe!

OK, parte il coro!
Poro poro poro poro poroporopopo figur de ...!

X Teju: Per caso hai già scritto al prof? :oops:

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 17-01-2005 18:23:

Originally posted by LoneWolf
Immagina l'albero così:

--------- 0 ------------
-- 00 -------- 01 ----
000 001 --- 010 011

Se fai una ricorsiva che attraversa prima il figlio sinistro, poi la radice, infine il figlio destro, l'ordinamento finale sarà:
000
00
001
0
010
01
011

Ovviamente non sono ordinati.
Facciamo pure che il prefisso sia 01, l'output sarà:
010
01
011

L'unico sistema per avere l'output ordinato sarebbe sfogliare ciascun livello dell'albero da sinistra a destra, poi procedere al livello successivo.

Che ne dici?

capito... ma con un ordine anticipato(sottoalbero sinistro,redice,sottoalbero destro) mi pare venga ordinato, no?


EDIT: ho visto adesso che ti eri gia' risposto...


Posted by LoneWolf on 17-01-2005 18:28:

Originally posted by p2p
capito... ma con un ordine anticipato(sottoalbero sinistro,redice,sottoalbero destro) mi pare venga ordinato, no?


EDIT: ho visto adesso che ti eri gia' risposto...


Con l'ordine anticipato non viene.
Viene con radice, sottoalbero sinistro, sottoalbero destro.

Off-Topic:
Sto cominciando a fondere e dico scemenze! :D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 17-01-2005 20:35:

Originally posted by LoneWolf
Off-Topic:
Sto cominciando a fondere e dico scemenze! :D

A dire il vero al telefono mi avevi quasi pure convinto xkè non avendo sotto il disegno non riuscivo a immaginarmelo bene, ma dunque, alla luce di tutto ciò, dico che l'albero binario è la soluzione migliore! :D :D

__________________
Teju.it - Una vita da raccontare


Posted by LoneWolf on 17-01-2005 21:51:

Originally posted by Teju
A dire il vero al telefono mi avevi quasi pure convinto xkè non avendo sotto il disegno non riuscivo a immaginarmelo bene, ma dunque, alla luce di tutto ciò, dico che l'albero binario è la soluzione migliore! :D :D

Anche il mio B-albero funziona alla grande, solo che non me n'ero accorto! :D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by andrea on 18-01-2005 07:12:

Ho scritto a Fiorentini per essere sicuro di quando produrre l'output del comando p. Posto la risposta:

"
come scritto nel testo, ogni comando va eseguito subito dopo essere
stato letto da standard input (e quindi prima di leggere il successivo
comando)

Percio', subito dopo la lettura letto

p ...

deve essere stampato il corrispondente output (nell'esempio a pag. 5 le
righe su standard output sono riportate una di seguito all'altra)
"

questa cosa è chiarita.


Posted by joe.satriani on 18-01-2005 11:20:

qualcuno saprebbe aiutarmi sull'inserimento dell'albero binario?


Posted by Dante on 18-01-2005 11:21:

lettura input

Originally posted by andrea
visto che la cosa ha lasciato parecchi dubbi a tutti, io gestisco le stringhe i cui parametri hanno formati diversi con la getchar. Prendo un carattere alla volta, lo metto in una lista. Quando c'è uno spazio significa che il parametro è terminato. Questa cosa dovrebbe consentire, se uno vuole, di fare tutti i controlli che si vogliono (anche se non sono richiesti) sulle stringhe in input.


Ma come si fa a farterminare getchar? come faccio a dirgli "leggi un carattere alla volta fino a che è finita la riga"?una roba tipo eol? com'è in C?

__________________
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 Dante on 18-01-2005 11:40:

Ho risolto con 'sta porcheria e funziona...

while (( c = getchar() ) != '\n')

printf("%c", c);

__________________
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 andrea on 18-01-2005 12:02:

non è una porcheria, è giusto così


Posted by joe.satriani on 18-01-2005 13:28:

Originally posted by LoneWolf
Se invece ordini nel seguente modo:
radice->figlio sinistro->figlio destro, l'output è:
0
00
000
001
01
010
011

No, in effetti così i conti tornano...:shock:
Mi sono fatto ingannare dalla lunghezza delle stringhe!

OK, parte il coro!
Poro poro poro poro poroporopopo figur de ...!

X Teju: Per caso hai già scritto al prof? :oops:


scusami LONEWOLF ti chiederei una piccola cortesia, non riesco a capire come inserire i nodi nell' albero, se mi aiutassi te ne sarei molto grato.:cry:


Posted by andrea on 18-01-2005 13:56:

io volevo chiedervi una cosa. Ma quando dovete spostare un automa, cosa fate, scorrete la lista degli ostacoli per ogni cella che l'automa deve attraversare?


Posted by lorybu on 18-01-2005 17:38:

Quindi l'output del professore è sbagliato!! :
(
001: 12, 6, S
010: 12, 6, N
011: 12, 6, W
0101: 12, 6, E
)
A me esce così:
(
001: 12, 6, S
010: 12, 6, N
0101: 12, 6, E
011: 12, 6, W
)
Perchè chiaramente non controllo la lunghezza della stringa quando inserisco le cfr. e basta!!

A questo punto...
L'ordine dell'output è indifferente??

__________________
Le frasi mitiche...
::mm...ma nel compito mette anche le domande??::
::.. compilare compila... è tutto corretto, il fatto è che non fa quello che dico io.. cosa potrebbe essere?::
::Il fatto è che io le cose le so...poi dopo quando sono all'interrogazione non mi vengono...::


Posted by LoneWolf on 18-01-2005 19:08:

Originally posted by lorybu
Quindi l'output del professore è sbagliato!! :
(
001: 12, 6, S
010: 12, 6, N
011: 12, 6, W
0101: 12, 6, E
)
A me esce così:
(
001: 12, 6, S
010: 12, 6, N
0101: 12, 6, E
011: 12, 6, W
)
Perchè chiaramente non controllo la lunghezza della stringa quando inserisco le cfr. e basta!!

A questo punto...
L'ordine dell'output è indifferente??

Questa mi era sfuggita.
A sto punto effettivamente l'ordine non conta!
Cavolo, ho già scritto il codice per l'inserimento degli automi in ordine! :x

Vabbé... :sad:

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 18-01-2005 19:12:

Originally posted by joe.satriani
scusami LONEWOLF ti chiederei una piccola cortesia, non riesco a capire come inserire i nodi nell' albero, se mi aiutassi te ne sarei molto grato.:cry:

Non è molto semplice da spiegare, prova a postarmi la struct dei nodi del tuo albero e vedo se riesco a darti una mano.
In alternativa, ci troviamo domani mattina o giovedì in università in SILAB e ti spiego.

PS. Comunque non sono sicuro che il mio programma funzioni e che gli automi vengano disposti correttamente nell'albero.
In compilazione ed esecuzione non ricevo errori, ma non ho ancora provato a fare interrogazioni e vedere se l'albero contiene i nodi.

PS2. Dimenticavo, prendi un progetto degli anni scorsi, in cui qualcuno abbia utilizzato un albero, e troverai interessanti spunti.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 18-01-2005 19:56:

Originally posted by lorybu
A me esce così:

Vuol dire che sei già così avanti che sei già all'output?!?

Che struttura hai usato?!? ...io non capisco come mai non riesco a riempire il mio albero, riesco a creare il primo nodo, magicamente il secondo pure e dal terzo in poi nada, non lo aggiungie in lista.... :? :? boh.... :D

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 19-01-2005 08:14:

Scusate ragazzi, ho letto che siete arrivati alla conclusione che l'ordine dell'output non conta. Me lo confermate? Perchè se è così a me funziona abbastanza bene, altrimenti devo sbattermi ancora e non so se è una cosa facile trovare una soluzione.
Effettivamente il testo non dice che l'output deve essere in ordine dall'automa con nome più piccolo a quello più grande. Voi che dite? Non so neppure se chiederlo a Fiorentini, perchè se mi risponde che l'ordine è importante mi devo adeguare, mentre così, se mi facesse l'obiezione, posso sempre dire che il testo non specificava.


Posted by andrea on 19-01-2005 08:30:

... riprendo il discorso..
ha ingannato anche a me l'esempio del professore, cavolo. Ma siete sicuri che la lunghezza della stringa non conti?


Posted by mitnik on 19-01-2005 09:16:

Considerato che qualcuno di voi è gia quasi alla conclusione, chiderei gentilmente qualche consiglio su come valutare gli spostamenti degli automi. Io gli ostacoli li ho memorizzati in una lista.


Posted by andrea on 19-01-2005 09:28:

Io non sono alla soluzione, nel senso che la questione relativa agli ostacoli la devo ancora fare. Finora ho fatto il comando a e il p (sempre che vada bene non rispettare la lunghezza della stringa...)
Per quanto riguarda gli ostacoli, anche io penso di usare una lista, altrimenti ci impiego troppo e non so se ho tempo.


Posted by joe.satriani on 19-01-2005 10:30:

Originally posted by LoneWolf
Non è molto semplice da spiegare, prova a postarmi la struct dei nodi del tuo albero e vedo se riesco a darti una mano.
In alternativa, ci troviamo domani mattina o giovedì in università in SILAB e ti spiego.

PS. Comunque non sono sicuro che il mio programma funzioni e che gli automi vengano disposti correttamente nell'albero.
In compilazione ed esecuzione non ricevo errori, ma non ho ancora provato a fare interrogazioni e vedere se l'albero contiene i nodi.

PS2. Dimenticavo, prendi un progetto degli anni scorsi, in cui qualcuno abbia utilizzato un albero, e troverai interessanti spunti.


GRAZIE MILLLE lonewolf, se domani sei in silab ci facciamo una chiacchierata e mi spieghi in linea di massima come fare.:razz: :razz: (non ti ruberò molto tempo)


Posted by LoneWolf on 19-01-2005 10:55:

Originally posted by joe.satriani
GRAZIE MILLLE lonewolf, se domani sei in silab ci facciamo una chiacchierata e mi spieghi in linea di massima come fare.:razz: :razz: (non ti ruberò molto tempo)

Domani dovrei essere tutto il giorno in Silab, poi ti confermo, per cui vada per la chiacchierata.

Per quanto riguarda la questione dell'ordinamento, io ho pensato che possono esisterne di due tipi:
- ordini in base alla lunghezza del nome, se la lunghezza è uguale il minore dei due va prima
- ordini in base al valore, se i due valori confrontati sono uguali (ad es. 01 e 1) ordini in base alla lunghezza

L'esempio del prof. ricade nel primo tipo di ordinamento, ma può essere un semplicissimo caso, e comunque il testo non specifica che l'output deve essere ordinato.
Comunque, implementa almeno uno di questi due ordinamenti e hai possibilità che su input piccoli (tipo quelli del testo del progetto) il tuo risultato sia ordinato e che il prof. non dica nulla.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by andrea on 19-01-2005 12:29:

Scusa LoneWolf, ma questa frase:

- ordini in base al valore, se i due valori confrontati sono uguali (ad es. 01 e 1) ordini in base alla lunghezza

la capisco solo in parte. I due valori non possono essere uguali, perchè un automa non può essere creato se ne esiste uno uguale. O sbaglio?

Comunque io ordino per valore. La lunghezza non mi interessa. Il testo non specifica la modalità di ordinamento, lo tengo buono.


Posted by LoneWolf on 19-01-2005 13:28:

Originally posted by andrea
Scusa LoneWolf, ma questa frase:

- ordini in base al valore, se i due valori confrontati sono uguali (ad es. 01 e 1) ordini in base alla lunghezza

la capisco solo in parte. I due valori non possono essere uguali, perchè un automa non può essere creato se ne esiste uno uguale. O sbaglio?

Comunque io ordino per valore. La lunghezza non mi interessa. Il testo non specifica la modalità di ordinamento, lo tengo buono.


Semplicemente, intendo che fai una conversione della stringa considerandola un numero binario e portandolo in integer, a quel punto 1 e 01 valgono in integer 1, per cui li considero come se fossero uguali, e li ordini in base alla lunghezza della stringa.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by andrea on 19-01-2005 13:43:

Lonewolf, sei sicuro di poter fare così? Se fai la conversione della stringa in integer, automaticamente limiti il numero di automi al massimo valore dell'integer. O sbaglio?


Posted by mitnik on 19-01-2005 14:10:

scusate, forse mi sono perso parte della discussione sull'output del comando p.
Ma il testo, leggendo le specifiche di implementazione, non dice che l'output deve essere ordinato, dice solo come deve essere visualizzato quindi seconfo me anche un uot del genere viene accettato;
(
1101: 12, 5, S
1101101: 19, 19, W
110: 1, 1, W
)

o no?


Posted by andrea on 19-01-2005 14:20:

Sì, il testo non dice nulla. Anche a me stampa un output come il tuo e non ho intenzione di cambiare, proprio perchè il testo non dice nulla sull'ordine in cui gli automi sono stampati.


Posted by mitnik on 19-01-2005 14:55:

Ecco.

Ora ho un altro problema. Il segnale l'ho memorizzato in un array. Suppiniamo sia

01 N10S1W145

come fate a dividere le lettere dai caratteri?

Io ho trovato un modo ma è un po incasinato e non mi sembra molto efficiente.

Poi vorrei memorizzare il segnale in un alista in cui ogni elemento contenga una lettera per la direzione e il numero di passi ad essa associata. Che dite?


Posted by andrea on 19-01-2005 15:01:

Sei sicuro che va bene memorizzarlo in un array? Così devi dare un limite massimo. Secondo te è corretto?


Posted by mitnik on 19-01-2005 15:16:

leggo la riga di input e con realloc mano a mano che trovo nuovi caratteri alloco lo spazio necessario per contenerli.

funziona ho provato ad inserire stringhe di svariata lunghezza e non ho avuto problemi.

qiundi ottengo un array con il segnale. Per trovare la stringa di bit è semplice uso la strtok con lo spazio come token e riesco a ricavare quindi il segnale tipo [11010101]
a questo punto ho il problema di trovare un modo per dividere le NESWA dai valori decimali


Posted by andrea on 19-01-2005 15:20:

Ok, la realloc non la conosco e non mi sono azzardato ad usarla. Io uso liste per prendere i comandi dall'input.
Per quanto riguarda la distinzione tra NESWA e valori decimali, fossi in te scorrerei tutto l'array e verifico se ho una lettera o una cifra. Non sarà efficiente ma credo funzioni, io farò così con la lista.


Posted by LoneWolf on 19-01-2005 17:14:

Originally posted by andrea
Lonewolf, sei sicuro di poter fare così? Se fai la conversione della stringa in integer, automaticamente limiti il numero di automi al massimo valore dell'integer. O sbaglio?

Avresti ragione tu se utilizzassi la conversione come unico parametro di ordinamento.
Ma se ne utilizzi due come ho scritto qualche post fa, viene tutto fuori ordinato alla perfezione.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 19-01-2005 23:47:

Non ricordo a chi avessi detto di trovarci giovedì (oggi, praticamente, visto che la mezzanotte è passata), ma oggi non riesco a venire, mentre sarà in uni venerdì, perché di pomeriggio ho l'FSE di Windows in aula delta.

Ci si vede venerdì.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by joe.satriani on 20-01-2005 07:55:

l'avevi detto a me, no problema a domani!


Posted by Teju on 20-01-2005 11:11:

Ma... ma...

Come mai l'istruzione

if (a <= automa_corrente->x <= c)

non funziona, mentre la

if (automa_corrente->x >= a && automa_corrente->x <= c)

funziona?!?

In qualunque linguaggio che uso di solito funzionano entrambe, che il C sia così indietro?!? ...e pensare che ci ho sbattuto la testa per taaaaaanto tempo xkè non trovavo l'errore...

Mah........ :-)

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 20-01-2005 11:23:

Scusa Lonewolf, ma non riesco a capire cosa intendi...
Se converti la stringa secondo me la limiti al numero di bit del più grande intero.


Posted by LoneWolf on 20-01-2005 12:08:

Originally posted by andrea
Scusa Lonewolf, ma non riesco a capire cosa intendi...
Se converti la stringa secondo me la limiti al numero di bit del più grande intero.


Allora, io prima controllo se due stringhe sono di diversa lunghezza; se sono di pari lunghezza, le trasformo in integer e le ordino.
Per cui, non sto limitando nulla, non esisteranno mai due stringhe di pari lunghezza e valore.

Capito?

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 20-01-2005 12:10:

Originally posted by Teju
Ma... ma...

Come mai l'istruzione

if (a <= automa_corrente->x <= c)

non funziona, mentre la

if (automa_corrente->x >= a && automa_corrente->x <= c)

funziona?!?

In qualunque linguaggio che uso di solito funzionano entrambe, che il C sia così indietro?!? ...e pensare che ci ho sbattuto la testa per taaaaaanto tempo xkè non trovavo l'errore...

Mah........ :-)

Ma dai, Teo, ti ho detto ieri quale funzione usare, proprio perché aveo provato anche io e funzionava male.
Comunque funziona quella sintassi sugli integer...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 20-01-2005 12:19:

Originally posted by LoneWolf
Ma dai, Teo, ti ho detto ieri quale funzione usare, proprio perché aveo provato anche io e funzionava male.

No, ormai per gli inserimenti e i controlli di inserimento ci sono arrivato, la mia era solo una considerazione sul fatto che un'istruzione molto comune in tutti i linguaggi di programmazione quale (a <= b <= c) non restituisca il corretto valore! :D

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 20-01-2005 12:24:

Quando parlo di limitare intendo dire che se trasformi una stringa in un integer e un integer ha al massimo 32 bit, significa che la stringa può essere al massimo di 32 bit. Se hai un automa la cui stringa è 1 seguito da 32 zeri, come fai a convertirlo in integer?


Posted by LoneWolf on 20-01-2005 12:29:

Originally posted by andrea
Quando parlo di limitare intendo dire che se trasformi una stringa in un integer e un integer ha al massimo 32 bit, significa che la stringa può essere al massimo di 32 bit. Se hai un automa la cui stringa è 1 seguito da 32 zeri, come fai a convertirlo in integer?

Su questo hai ragione, ma il mio voleva essere solo un suggerimento, poi lo implementate come volete gestendo questo tipo di eccezioni.

Io ho usato la funzione strcmp.

http://digilander.libero.it/uzappi/...oni/strcmp.html

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by mitnik on 20-01-2005 14:07:

Avete gia ragionato sui movimenti di un automa? intendo dire come incrementate e decrementate la x o la y in base alla presenza degli ostacoli? a me sembra un po un casino.


Posted by p2p on 20-01-2005 15:52:

domandina x chi usa le liste per gli ostacoli: avete definito un puntatore alla testa e alla coda della lista oppure no?


Posted by LoneWolf on 20-01-2005 16:18:

Originally posted by p2p
domandina x chi usa le liste per gli ostacoli: avete definito un puntatore alla testa e alla coda della lista oppure no?

Al momento ancora no, ma se finisco in tempo forse faccio una lista bidirezionale al posto di quella unidirezionale attuale.
In quel modo la ricerca degli ostacoli potrebbe diventare più veloce, ma si spreca spazio tenendo un puntatore in più in ogni record della lista.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 20-01-2005 16:25:

capito.. è vero l' uso della memoria è > vedro' se conviene tenerla o se l uso della coda è marginale...

cavolo ho fatto questa dichiarazione nella mia crea_lista() :

lnodo *p = malloc(sizeof(lnodo));

dove lnodo l avevo dichiarato prima con un typdef alla struttura della lista....

mi viene fuori a quella riga il seguente warning:

ISO C89 forbids mixed declaration and code


ne sapete qualcosa???boh

EDIT: Risolto.... non chiedetemi xchè lo faceva!:?


Posted by dirkpitt on 20-01-2005 17:17:

Originally posted by p2p
domandina x chi usa le liste per gli ostacoli: avete definito un puntatore alla testa e alla coda della lista oppure no?

solo alla testa

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by luca8684 on 20-01-2005 18:27:

La prima istruzione non funziona perchè tu fai il primo confronto
a<=automa_corrente->x
e questo restituisce un valore che può essere 1 se è vera o 0 se è falsa.
Poi tutto questo viene confrontato con c, ma non confronti automa_corrente->x ma il risultato del primo confronto!!
Mentre la
if (automa_corrente->x >= a && automa_corrente->x <= c)
funziona perchè prima lo confronti con a, poi con c e poi viene fatto un end logico tra i risultati dei due!!

Originally posted by Teju
Ma... ma...

Come mai l'istruzione

if (a <= automa_corrente->x <= c)

non funziona, mentre la

if (automa_corrente->x >= a && automa_corrente->x <= c)

funziona?!?

In qualunque linguaggio che uso di solito funzionano entrambe, che il C sia così indietro?!? ...e pensare che ci ho sbattuto la testa per taaaaaanto tempo xkè non trovavo l'errore...

Mah........ :-)

__________________
{¯`·._)-•°o.O`·._.·´¯`¸·´¯).·´¯`·-> IN DA EEKS <-·´¯`·.(¯`·¸´¯`·._.·´O.o°•–(¯`·._}


Posted by LoneWolf on 20-01-2005 18:37:

Originally posted by p2p
capito.. è vero l' uso della memoria è > vedro' se conviene tenerla o se l uso della coda è marginale...

cavolo ho fatto questa dichiarazione nella mia crea_lista() :

lnodo *p = malloc(sizeof(lnodo));

dove lnodo l avevo dichiarato prima con un typdef alla struttura della lista....

mi viene fuori a quella riga il seguente warning:

ISO C89 forbids mixed declaration and code


ne sapete qualcosa???boh

EDIT: Risolto.... non chiedetemi xchè lo faceva!:?

A me ieri dava errore se in fase di dichiarazione delle variabili assegnavo direttamente un valore.

Per cui, se il motivo è questo, avresti dovuto fare:

lnodo *p; // Nella dichiarazione delle variabili

p = malloc(sizeof(lnodo)) // Tra le varie istruzioni della funzione

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 20-01-2005 19:03:

Originally posted by luca8684
La prima istruzione non funziona perchè tu fai il primo confronto
a<=automa_corrente->x
e questo restituisce un valore che può essere 1 se è vera o 0 se è falsa.
Poi tutto questo viene confrontato con c, ma non confronti automa_corrente->x ma il risultato del primo confronto!!
Mentre la
if (automa_corrente->x >= a && automa_corrente->x <= c)
funziona perchè prima lo confronti con a, poi con c e poi viene fatto un end logico tra i risultati dei due!!

Si, ok, c'ero arrivato anch'io che il C fa così, ma solo dopo che ho provato a mettere gli &&... non serve un genio!
Però quello che continua a non capire è perchè invece in praticamente tutti gli altri linguaggi funzioni correttamente... ma va beh, non volevo aprire un dibattito, era solo una considerazione la mia! :D

__________________
Teju.it - Una vita da raccontare


Posted by LoneWolf on 21-01-2005 09:17:

X joe.satriani:
Io sono in silab, nella zona dove ci sono i vecchi pc, macchina pc2-02.
Quando vuoi passa di qua (prima di pranzo!).

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by joe.satriani on 21-01-2005 09:22:

Originally posted by LoneWolf
X joe.satriani:
Io sono in silab, nella zona dove ci sono i vecchi pc, macchina pc2-02.
Quando vuoi passa di qua (prima di pranzo!).


io sono lì per le 11, a dopo...


Posted by Skilotto83 on 21-01-2005 11:26:

La notizia della durata dello scritto per altri 2 appelli è ufficiale...

http://homes.dsi.unimi.it/~trubian/studenti.htm

ma voi kapite cosa significa "(al quale comunque deve iscriversi)"???

cioè..nel caso..per fare il progetto mi iscrivo con goldwurm e poi?? Nn mi presento e faccio il progetto?
Mi sfugge quaolkosa...

__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)

MSN andrea.poretti(at)hotmail.it


Posted by Dante on 21-01-2005 11:47:

ah... e chi l'ha passato con i compitini a fine corso...?

__________________
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 Skilotto83 on 21-01-2005 11:59:

quelli credo che scadano a gennaio...

__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)

MSN andrea.poretti(at)hotmail.it


Posted by mitnik on 21-01-2005 14:01:

Correggetemi se sbaglio, ma l'output è prodotto solo dalla funzione posizione vero?

le altre agiscono "internamente" al programma la situazione del piano viene stampata solo chiamando la funzione p


Posted by andrea on 21-01-2005 15:23:

Sì, è così. Solo p produce un output


Posted by Dante on 21-01-2005 16:00:

ho messo l'input di a (es: a 12 34 E 0011) in una lista, in cui ogni nodo contiene un carattere, cioè: Punt_lista -->1-->2--> -->3-->4--> -->E--> -->0-->0-->1-->1-->NULL
Ora dovrei memorizzare 1 e 2 in una variabile int come il valore int 12, così per 34, E in una variabile char e 0011 in una stringa... come si fa?

__________________
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 mitnik on 21-01-2005 16:08:

scorri la lista finche trovi il primo spazio. Sai qundi quanti caratteri hai letto. Allochi uno spazio sufficiente per contenerli e li memorizzi in tale spazio (per esempio un *array) a questo punto per convertire il valore della stringa in un numero usi la funzione strtod.

dovrebbe funzionare.

Io invece ho il problema di dividere il segnale (contenuto in un array) tipo

N4S11W1A3.


Posted by Dante on 21-01-2005 16:41:

Anche chi ha passato la teoria con i compitini ha a disposizione ancora 2 appelli! Confermato dal prof!

__________________
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 Skilotto83 on 21-01-2005 18:36:

Originally posted by Dante
Anche chi ha passato la teoria con i compitini ha a disposizione ancora 2 appelli! Confermato dal prof!


meglio....
Dicevo kosi' perkè nell'avviso parla solo di appelli... :shock:

__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)

MSN andrea.poretti(at)hotmail.it


Posted by LoneWolf on 22-01-2005 01:50:

Scusate ragazzi, ma come è possibile che nell'esempio del progetto venga creato un ostacolo con l'istruzione
o -2 -1 7 8
e che poi nei suoi output l'outoma 011 si trova in 7, 6?
L'automa ha scalato l'ostacolo e ci è entrato?

Inoltre, nel secondo output 001 dovrebbe trovarsi in 13,2 con direzione E, non in 12,2 con direzione W.

:?

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by alessiolennon on 22-01-2005 13:52:

ciao raga,1 domanda.
cosa devo fare quando mi viede detto di inserire un ostacolo che compre un automa?
y ostacolo
| _________________
| |________________|
| |________________|
| |________________|
| |______automa____|
| |______°_________|
| |________________|
| |________________|
|
|_______________________x


voglio dire,prima mi viene detto di inserire l'automa,poi dopo di inserire l'ostacolo.che devo fare,inserisco o no l'ostacolo??

__________________
I don't believe in magic, life is automatic (noel gallagher)
cheers


Posted by dirkpitt on 22-01-2005 14:07:

Originally posted by alessiolennon
voglio dire,prima mi viene detto di inserire l'automa,poi dopo di inserire l'ostacolo.che devo fare,inserisco o no l'ostacolo??

NO.. c'è scritto anche sul testo, a pagina 3, nella descrizione di ostacolo(xo,y0,x1,y1)

Credo anch'io che l'esempio non sia corretto.... o sbaglio? :?

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 14:50:

Originally posted by dirkpitt
NO.. c'è scritto anche sul testo, a pagina 3, nella descrizione di ostacolo(xo,y0,x1,y1)

Credo anch'io che l'esempio non sia corretto.... o sbaglio? :?

Io sto facendo una tabella excel con tutti gli spostamenti; inoltre, sto facendo diversi fogli con le diverse "interpretazioni" del testo del progetto, ma fino ad ora il risultato non è MAI stato uguale a quello del professore.

Per cui, che si fa?
Consideriamo errato il risultato dell'esercizio del prof?
Ovviamente deve esserci detta da una professore una cosa del genere, altrimenti all'esame Fiorentini ci dice che sbagliamo noi e siamo fregati...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 15:19:

Ho fatto anch'io la stessa cosa, ovvero un foglio in Excel e i calcoli del prof risultano errati... non so che dire.... :?

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by dirkpitt on 22-01-2005 15:39:

Oltretutto ho svolto (sia con il mio programma, sia a mano con l'aiuto di Excel) l'esempio a pagina 2 del testo, quello con i quattro automi, e il risultato è corretto. Credo quindi che il mio modo di calcolare non sia da considerare sbagliato.

Inoltre, come ha detto LoneWolf, già solo il fatto che secondo l'esempio del prof, l'automa 011 viene spostato in una posizione occupata da un ostacolo, è sintomo che l'esempio non è corretto.

Stando ai miei calcoli, il risultato della seconda istruzione p 0 dovrebbe essere:
(
0101: 14, 6, E
011: 9, 6, E
010: 2, 9, W
001: 13, 2, E
)

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 15:43:

Originally posted by dirkpitt
Ho fatto anch'io la stessa cosa, ovvero un foglio in Excel e i calcoli del prof risultano errati... non so che dire.... :?

Mi scrivi i tuoi 4 output?
Per vedere se ci ritroviamo.
Adesso reperisco i miei e li inserisco.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 22-01-2005 15:47:

Originally posted by dirkpitt
Oltretutto ho svolto (sia con il mio programma, sia a mano con l'aiuto di Excel) l'esempio a pagina 2 del testo, quello con i quattro automi, e il risultato è corretto. Credo quindi che il mio modo di calcolare non sia da considerare sbagliato.

Inoltre, come ha detto LoneWolf, già solo il fatto che secondo l'esempio del prof, l'automa 011 viene spostato in una posizione occupata da un ostacolo, è sintomo che l'esempio non è corretto.

Stando ai miei calcoli, il risultato della seconda istruzione p 0 dovrebbe essere:
(
0101: 14, 6, E
011: 9, 6, E
010: 2, 9, W
001: 13, 2, E
)

Sono i risultati uguali spiaccicati ai miei.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 15:49:

Originally posted by LoneWolf
Mi scrivi i tuoi 4 output?


- prima p 0 --> come prof
(
0101: 12, 6, E
011: 12, 6, W
010: 12, 6, N
001: 12, 6, S
)


- seconda p 0
(
0101: 14, 6, E
011: 9, 6, E
010: 2, 9, W
001: 13, 2, E
)

gli altri non li ho ancora calcolati... ho un qualche problema in qualche punto del progetto... :sad:

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by dirkpitt on 22-01-2005 15:50:

Originally posted by LoneWolf
Sono i risultati uguali spiaccicati ai miei.

Beh, è già qualcosa di positivo :D ma rimane sempre il problema di vedere se sono questi quelli corretti o se sono quelli del testo...

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 16:31:

Vi posto i miei risultati, che ho calcolato con la tabella excel facendo più volte i calcoli per evitare ogni possibile errore:

p 0 (
001: 12 6 S
010: 12 6 N
011: 12 6 W
0101: 12 6 E
)
p 0 (
001: 13 2 E
010: 2 9 W
011: 9 6 E
0101: 14 6 E
)
p 001 (
001: 22 -2 W
0010: 15 3 W
)
p 011 (
011: 9 6 E
)

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 22-01-2005 16:35:

Comunque, propongo di andare a parlare di persona con i prof (Torelli, Aguzzoli, Fiorentini) tutti insieme.
Se va uno solo, possono pensare che il testo dell'esercizio sia stato frainteso/non compreso; se andiamo in tanti, allora non possono nascondere la presenza di errori/ambiguità nel testo dell'esercizio.

A me basterebbe che pubblicassero il risultato CORRETTO dell'output sulle istruzioni di pagina 4 e 5, per il resto il mio progetto è quasi completo (devo solo finire la parte di spostamento degli automi).

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 16:55:

X LoneWolf
Il mio output finale è lo stesso identico del tuo...

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by mitnik on 22-01-2005 17:11:

A me le prime due p 0 risultano come quelle del testo del progetto. Ho un dubbio invece sulla prima p 001. A me risultano presenti sul piano tre automi con prefisso 001. Il primo inserito, il quinto e il sesto.


Posted by LoneWolf on 22-01-2005 17:15:

Originally posted by mitnik
A me le prime due p 0 risultano come quelle del testo del progetto. Ho un dubbio invece sulla prima p 001. A me risultano presenti sul piano tre automi con prefisso 001. Il primo inserito, il quinto e il sesto.

Svelaci in quale arcano modo sei riuscito a far venire i risultati uguali.

Comunque, il tuo quinto elemento non dovrebbe esistere, poiché non puoi creare due automi con lo stesso nome (001).

Aspettiamo la tua illuminante spiegazione! :-D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 17:27:

Originally posted by mitnik
A me le prime due p 0 risultano come quelle del testo del progetto.


Ma come può, nella seconda p 0 l'elemento 011 essere sovrapposto ad un ostacolo????

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 17:29:

Originally posted by dirkpitt
Ma come può, nella seconda p 0 l'elemento 011 essere sovrapposto ad un ostacolo????

Mi stai troppo simpatico! Mi hai letto nel pensiero! :-D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 17:40:

Forse ha ragione mitnik, l'errore è nostro. Una mezza idea ce l'avrei... ci penso su e poi ti faccio sapere....

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 17:45:

Originally posted by dirkpitt
Forse ha ragione mitnik, l'errore è nostro. Una mezza idea ce l'avrei... ci penso su e poi ti faccio sapere....

Io di mezze idee ne ho avute tante, ma i risultati vengono sempre sbagliati (almeno di un paio di automi).

Ho provato a considerare che l'ostacolo si ferma sull'angolo di coordinate 7,8 (per cui la sua superficie sarà di una riga e una colonna in meno), ma anche in quel caso il risultato è errato.
Comunque, facendo una supposizione del genere, allora è anche possibile creare l'ostacolo 3 -5 10 6 che copre abbondantemente la cella 7,6 dove va poi a collocare l'automa 011.

Per cui, anche nei modi più fantasiosi è impossibile far tornare i risultati del prof.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 22-01-2005 17:48:

Originally posted by LoneWolf
Io di mezze idee ne ho avute tante, ma i risultati vengono sempre sbagliati (almeno di un paio di automi).

Mezze idee a quantità industriali pure io, peccato che i risultati scarseggino... anche secondo me già il fatto che 011 si fermi in 7,6 con un ostacolo dichiarato in -2,-1 7,8 non quadra..... :sad:

__________________
Teju.it - Una vita da raccontare


Posted by dirkpitt on 22-01-2005 17:49:

Il nodo del problema, è capire se negli ostacoli, il punto (x1, y1) appartiene o meno all'ostacolo.
Il testo dice:

R(x0,y0,x1,y1) = {(x,y) € RxR | x0<=x<=x1,y0<=y<=y1}

quindi tale punto dovrebbe appartenervi, però provando il contrario, i risultati escono (quasi) corretti... che rabbia!!!

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 17:53:

Originally posted by dirkpitt
Il nodo del problema, è capire se negli ostacoli, il punto (x1, y1) appartiene o meno all'ostacolo.
Il testo dice:

R(x0,y0,x1,y1) =
= {(x,y) € RxR | x0<=x<=x1,y0<=y<=y1}

quindi tale punto dovrebbe appartenervi, però provando il contrario, i risultati escono corretti... che rabbia!!!

Abbiamo provato come dici (Teju e io, siamo in telefonoconferenza da un'ora), ma l'automa 001 si ferma sempre e comunque una cella prima di 12,2.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 17:56:

Originally posted by LoneWolf
Abbiamo provato come dici (Teju e io, siamo in telefonoconferenza da un'ora), ma l'automa 001 si ferma sempre e comunque una cella prima di 12,2.

I risultati che mi escono facendo in questo modo sono questi: c'è un solo errore.... (evidenziato)
(
0101: 12, 6, E
011: 12, 6, W
010: 12, 6, N
001: 12, 6, S
)
(
0101: 12, 6, E
011: 7, 6, E
010: 2, 9, W
001: 12, 2, W
)
(
0010: 15, 1, W
001: 16, -2, W
)
(
011: 7, 6, E
)

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 18:13:

Originally posted by dirkpitt
I risultati che mi escono facendo in questo modo sono questi: c'è un solo errore.... (evidenziato)
(
0101: 12, 6, E
011: 12, 6, W
010: 12, 6, N
001: 12, 6, S
)
(
0101: 12, 6, E
011: 7, 6, E
010: 2, 9, W
001: 12, 2, W
)
(
0010: 15, 1, W
001: 16, -2, W
)
(
011: 7, 6, E
)

E' l'output del tuo programma o la tabella excel?
Se sono i risultati sulla tabella excel, me la mandi su lucaeffe@freemail.it ?
Grazie

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Teju on 22-01-2005 18:14:

Originally posted by dirkpitt
I risultati che mi escono facendo in questo modo sono questi: c'è un solo errore.... (evidenziato)

...senti, ma se a, b sono i parametri di elimina, quali confronti fai sulle coordinate x0, y0, x1, y1 per capire quando c'è collisione??

__________________
Teju.it - Una vita da raccontare


Posted by dirkpitt on 22-01-2005 18:45:

Originally posted by LoneWolf
E' l'output del tuo programma o la tabella excel?
Se sono i risultati sulla tabella excel, me la mandi su lucaeffe@freemail.it ?
Grazie

E' il risultato di entrambi. E qui nasce il solito problema: sbaglio io o sbaglia il testo?????
Cmq ti ho mandato il file di Excel...

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by dirkpitt on 22-01-2005 19:08:

Lightbulb Ulteriore sviluppo!

Come dicevo prima, alla chiamata di
p 001
l'output del mio programma (e anche il risultato dei miei calcoli) è questo:

(
0010: 15, 1, W
001: 16, -2, W
)

il quale, stando a quanto detto sul testo è errato. La soluzione proposta è invece:

(
001: 12, -1, W
0010: 15, 1, W
)

Ebbene, grazie ad una fortuita intuizione, ho scoperto che il risultato del testo sarebbe quello risultante se la penultima istruzione di inserimento di un automa, cioé
a 16 0 W 001
fosse valida, cosa che non è possibile in quanto l'automa di nome 001 è già presente sul piano. Praticamente, l'esempio del testo sostituisce (erroneamente) l'automa originario con quello nuovo (cosa, ripeto, sbagliata).
Ora vi prego, confermate le mie ipotesi o giuro che... :pccrash:
:D
Sto progetto lo odio ormai profondamente!!!!

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by Teju on 22-01-2005 19:18:

Re: Ulteriore sviluppo!

Originally posted by dirkpitt
Ebbene, grazie ad una fortuita intuizione, ho scoperto che il risultato del testo sarebbe quello risultante se la penultima istruzione di inserimento di un automa, cioé
a 16 0 W 001
fosse valida, cosa che non è possibile in quanto l'automa di nome 001 è già presente sul piano. Praticamente, l'esempio del testo sostituisce (erroneamente) l'automa originario con quello nuovo (cosa, ripeto, sbagliata).

...ho riletto il testo del progettino e trovo scritto:
Automa(x0, y0, C, eta)

Se la cella di cooeridate (x0, y0) appartiene a qualche ostacolo, allora non esegue alcuna operazione. Altrimenti, se non esiste alcun automa di nome eta lo crea; quindi riposiziona sul piano l'automa eta nella cella di coordinate (x0, y0)....

In pratica forse ma forse dice che: se non esiste devo allocare la memoria e inserirlo nel piano, però sia se è un nuovo automa, sia se esiste già, lo riposiziono sul piano!
...così quadra il tuo discorso... :D
...peccato che a me neanche cambiando le coordinate all'automa risulta corretto!!

__________________
Teju.it - Una vita da raccontare


Posted by dirkpitt on 22-01-2005 19:25:

Re: Re: Ulteriore sviluppo!

Originally posted by Teju
...ho riletto il testo del progettino e trovo scritto:

In pratica forse ma forse dice che: se non esiste devo allocare la memoria e inserirlo nel piano, però sia se è un nuovo automa, sia se esiste già, lo riposiziono sul piano!

Interpretandolo così la storia regge... ma sarà giusto? :?

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 22-01-2005 19:30:

Allora, dirkpitt ha ragione, l'errore mio e di Teju era quello che non creavamo il secondo ostacolo per una questione di "adiacenza" ad un automa.
Vedendo il tuo disegno ho capito subito che sbagliavamo su quello.

Per la questione dell'automa che ti viene in posizione 16.2, a questo punto credo che si debba considerare quanto segue:
"se si cerca di creare un automa già presente, non lo creo, ma sposto quello già nella struttura nel punto del piano specificato dall'istruzione di creazione".

Inteso così viene tutto giusto.

Comunque il testo è errato sulla questione degli ostacoli, avrebbero dovuto scrivere:
R(x0,y0,x1,y1) = {(x,y) € RxR | x0<=x<=x1-1,y0<=y<=y1-1}
o
R(x0,y0,x1,y1) = {(x,y) € RxR | x0<=x<x1,y0<=y<y1}

Così sarebbe stato tutto molto più chiaro!

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by dirkpitt on 22-01-2005 19:43:

Originally posted by LoneWolf
Per la questione dell'automa che ti viene in posizione 16.2, a questo punto credo che si debba considerare quanto segue:
"se si cerca di creare un automa già presente, non lo creo, ma sposto quello già nella struttura nel punto del piano specificato dall'istruzione di creazione".

Inteso così viene tutto giusto.

Comunque il testo è errato sulla questione degli ostacoli, avrebbero dovuto scrivere:
R(x0,y0,x1,y1) = {(x,y) € RxR | x0<=x<=x1-1,y0<=y<=y1-1}
o
R(x0,y0,x1,y1) = {(x,y) € RxR | x0<=x<x1,y0<=y<y1}

Così sarebbe stato tutto molto più chiaro!

Perfetto! :-D allora siamo daccordo praticamente su tutto. Certo che se le specifiche fossero un po' più chiare, uno non perderebbe tempo a correggere errori che si potevano benissimo evitare!

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by Teju on 22-01-2005 20:09:

Originally posted by dirkpitt
Perfetto! :-D allora siamo daccordo praticamente su tutto. Certo che se le specifiche fossero un po' più chiare, uno non perderebbe tempo a correggere errori che si potevano benissimo evitare!

Ok, ho capito che in inserimento dell'ostacolo bisogna fare x1-1 e y1-1, e così funziona tutto, ma :evil: cavolino non mi piace come soluzione!!!!! Non ne vedo il senso... però x non impantanarmi troppo vado avanti... :D

__________________
Teju.it - Una vita da raccontare


Posted by LoneWolf on 22-01-2005 20:10:

Originally posted by dirkpitt
Perfetto! :-D allora siamo daccordo praticamente su tutto. Certo che se le specifiche fossero un po' più chiare, uno non perderebbe tempo a correggere errori che si potevano benissimo evitare!

E' quello che ho detto poco fa ai miei genitori.
Ho perso una giornata di lavoro sul progetto a causa dell'ambiguità del testo del progetto.
Comunque, mi basta decrementare di 1 la x1 e la y1 quando chiamo la funzione che creo l'ostacolo, per cui non mi cambia molto la vita...

Grazie a tutti, e in particolar modo a dirkpitt, per la collaborazione!:-D

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 23-01-2005 11:24:

ragazzi mi sono un attimino impantanato nell istruzione a x y D 001 che voi avete gia' risolto, in pratica io memorizzo tutto l input dell' istruzione in un array con il sistema realloc di cui si parlava; ok adesso ho provato a fare un po' di cicli con roba tipo isalpha, isdigit ecc solo che non riesco a memorizzare bene i valori... inoltre non è facile dire"il 1 intero lo metti in questa variabile mentre il 2° in quest altra..." . voi come avete fatto?
mi pare qualcuno avesse usato una lista e operato su quella, ma credo che se opero direttamente sull' array sia uguale no?
roba tipo strtok si potrebbe usare? come? :?

grazie grazie :)


Posted by Teju on 23-01-2005 11:58:

Originally posted by p2p
in pratica io memorizzo tutto l input dell' istruzione in un array

Perchè mai tutto l'input in un array?!? Alla fine i primi sono un carattere, 2 numeri e un altro carattere... quando poi arrivi al nome dell'automa allora sì che usi l'array con ridimensionamento! :-D

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 23-01-2005 14:21:

Originally posted by Teju
Perchè mai tutto l'input in un array?!? Alla fine i primi sono un carattere, 2 numeri e un altro carattere... quando poi arrivi al nome dell'automa allora sì che usi l'array con ridimensionamento! :-D

per che' io faccio:
while (( s = getchar() ) != '\n'){......}
quindi mi continua a prendere input e memorizzarlo.
ok, quindi faccio 2 getchar escludendo lo spazio e poi parto con il while... proviamo.:)

grazie :)


Posted by dirkpitt on 23-01-2005 14:27:

Originally posted by p2p
ragazzi mi sono un attimino impantanato nell istruzione a x y D 001 che voi avete gia' risolto, in pratica io memorizzo tutto l input dell' istruzione in un array con il sistema realloc di cui si parlava; ok adesso ho provato a fare un po' di cicli con roba tipo isalpha, isdigit ecc solo che non riesco a memorizzare bene i valori... inoltre non è facile dire"il 1 intero lo metti in questa variabile mentre il 2° in quest altra..." . voi come avete fatto?
mi pare qualcuno avesse usato una lista e operato su quella, ma credo che se opero direttamente sull' array sia uguale no?
roba tipo strtok si potrebbe usare? come? :?

Usa semplicemente la funzione strtok, sul libro ci sono degli esempi molto utili...

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by Teju on 23-01-2005 15:52:

Originally posted by p2p
per che' io faccio:
while (( s = getchar() ) != '\n'){......}
quindi mi continua a prendere input e memorizzarlo.
ok, quindi faccio 2 getchar escludendo lo spazio e poi parto con il while... proviamo.:)

grazie :)

Io uso la getchar() per l'istruzione e la scanf per i dati non stringhe! :-D

__________________
Teju.it - Una vita da raccontare


Posted by Teju on 23-01-2005 16:50:

:ola:
:roargh: :banana:

Mi sa proprio che ho finito il progettinooooo!!! :D

L'input del prof funziona alla grande, altre prove varie vanno senza problemi...

Ora mi restano, in ordine:

- pulire il codice dalle variabili che non ho mai utilizzato
- scrivere i commenti in un italiano "serio"
- scrivere la relazione
- STUDIARE per l'orale!!!!!!! :shock:

Volevo chiedere un pareri:
:arrow: la relazione come deve essere? Cosa deve contenere?

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 23-01-2005 18:01:

Originally posted by Teju
Io uso la getchar() per l'istruzione e la scanf per i dati non stringhe! :-D

ho usato anch io la scanf, grazie 1000 teju, mi ero fissato sul dividere quell array e stavo perdendo un sacco di tempo.:-D

secondo me nella relazione(viste quelle degli altri) bisogna semplicemente dire quali strutture si sono usate, i loro costi per le varie operazioni e soprattutto perchè si è preferito quelle, poi dai una descrizione veloce delle funzioni usate(ma non tutti l hanno fatto nei progetti vecchi mi pare...)


Posted by dirkpitt on 24-01-2005 13:09:

Originally posted by Teju
:ola:
:roargh: :banana:

Mi sa proprio che ho finito il progettinooooo!!! :D

L'input del prof funziona alla grande, altre prove varie vanno senza problemi...


Giusto per essere sicuri, potresti postare altri esempi con i relativi risultati? Almeno testiamo un po' tutti i nostri progetti! Grazie :D

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by p2p on 24-01-2005 14:24:

cacchio ma non è possibile! sto scrivendo 2 for annidati per passare alla funzione che mi controlla le coordinate degli automi se tali x,y sono occupate da automi:

void ostacolo(int x0,int y0,int x1,int y1)

for ( ;x0<=x1;x0++)
for ( ;y0<y1;y0++)

x0,y0,x1,y1 sono le coordinate di dove si vuole inserire l' ostacolo, sto cercando di farle ciclare e le passo cosi:

cerca_automi(albero,x0,y0);

solo che se non metto parentesi graffe non cicla, se la metto di fianco al 1° for ciclano solo le x e non le y e sul secondo ciclano le y e non le x.
:? :? :?

suggerimenti ne avete ??


Posted by Teju on 24-01-2005 15:24:

Originally posted by p2p
solo che se non metto parentesi graffe non cicla, se la metto di fianco al 1° for ciclano solo le x e non le y e sul secondo ciclano le y e non le x.
:? :? :?

suggerimenti ne avete ??

:D io metto SEMPRE tutte le parentesi...

Edit: cmq per scorrere io uso sempre i while, i for li uso quando devo "contare"...

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 24-01-2005 16:17:

scusate ma per controllare un prefisso in un albero mi devo scorrere l intero albero? perche 2 prefissi con valori diversi potrebbero stare in rami totalmente opposti..... o dico una cavolata??


Posted by Teju on 24-01-2005 16:19:

Originally posted by p2p
scusate ma per controllare un prefisso in un albero mi devo scorrere l intero albero? perche 2 prefissi con valori diversi potrebbero stare in rami totalmente opposti..... o dico una cavolata??

Beh, questo dipende molto da come hai organizzato il tuo albero... :D

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 24-01-2005 16:35:

quindi è corretto quello che ho detto?
io sto usando un RB... ma alla fine devo scorrerlo tutto quando devo vedere le coordinate degli automi x inserire un ostacolo... devo scorrerlo tutto per vedere se i nomi sono prefissi...alla fine tanto valeva usare un altra lista!!anche se il prof. dice che è inefficiente...
queste considerazioni saranno valide x tutti gli alberi di ogni tipo,a questo punto! meno quelli customizzati...(vedi teju :-o )

che ne dite?


All times are GMT. The time now is 20:18. Pages (3): « 1 [2] 3 »
Show all 366 posts from this thread on one page

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