.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 Ariok on 07-01-2005 11:55:

[algoritmi progetto ????]

Ho un dubbio enorme.....

Io ho sostenuto il compito di algoritmi con trubian .... e mi era stato detto che l'ultiam possibilita' per il progetto era nel primo appello di Gennaio.... qualcuno puo' confermare o smentire questa notizia??? grazie mille ciao!!!:shock: :?

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by dirkpitt on 07-01-2005 13:34:

Quando ho fatto lo scritto, Trubian ha detto che questo valeva un anno....

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


Posted by Skilotto83 on 07-01-2005 13:47:

ho mandato una mail a trubi...
mi ha detto ke per gennaio lo scritto rimane valido....
Quindi posso fare il progetto...
E addirittura ha scritto(parole sue).."lo scritto rimarra' valido ankora per un paio di appelli dopo gennaio"...
Pero' nn mi fiderei troppo...quindi ho mandato una mail ad aguzzoli ke nn mi ha ankora risposto...

__________________
"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 ghily on 07-01-2005 20:42:

Originally posted by Skilotto83
ho mandato una mail a trubi...
mi ha detto ke per gennaio lo scritto rimane valido....
Quindi posso fare il progetto...
E addirittura ha scritto(parole sue).."lo scritto rimarra' valido ankora per un paio di appelli dopo gennaio"...
Pero' nn mi fiderei troppo...quindi ho mandato una mail ad aguzzoli ke nn mi ha ankora risposto...


Bella andre.Gran notizia.Mi raccomando posta subito quello che ti dice aguzzoli.L'incubo Goldwrun svolazza su di noi.....

Chao
Roby


Posted by Dante on 08-01-2005 15:48:

Wow.. sarebbe bello se lo scritto durasse ancora 2 appelli.. speriamooooooooooo anche io sono all'ultima possibilità....

__________________
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 08-01-2005 15:51:

e poi... potremmo aprire qui la discussione del prox progetto... quello che esce martedì...

__________________
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 Ariok on 08-01-2005 17:39:

Originally posted by Dante
e poi... potremmo aprire qui la discussione del prox progetto... quello che esce martedì...


Sono piu' che daccordo.... pensavo di essere rimasto l'unico con l'ultima possibilita'!!!!

Postate ogni novita'!!!!
ciao ragazzi!!!:razz:

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


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

Originally posted by Ariok
pensavo di essere rimasto l'unico con l'ultima possibilita'!!!!

Assolutamente no.... :sad: :D

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


Posted by Skilotto83 on 09-01-2005 10:41:

Aguzzoli mi ha risposto che a lui basta ricevere un progetto suficente...
E che devo parlare on trubian per sapere quanto rimane valido...
Quindi data la mail di trubian precedente sikuramente vale per gennaio e teorikamente anke successivamente per uno/due appelli....
Quello ke mi kiedo è....
Ma Aguzzoli ha un elenko di quelli che hanno lo scritto sufficente da 6 anni???
Sapra' ke skadono a gennaio...no??

PS.
Per i moderatori.....
Posso pubblikare la mail che mi ha mandato trubian??
o c'è qualke problema??

__________________
"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 Simbios on 09-01-2005 10:45:

Originally posted by Skilotto83
Aguzzoli mi ha risposto che a lui basta ricevere un progetto suficente...
E che devo parlare on trubian per sapere quanto rimane valido...
Quindi data la mail di trubian precedente sikuramente vale per gennaio e teorikamente anke successivamente per uno/due appelli....
Quello ke mi kiedo è....
Ma Aguzzoli ha un elenko di quelli che hanno lo scritto sufficente da 6 anni???
Sapra' ke skadono a gennaio...no??

PS.
Per i moderatori.....
Posso pubblikare la mail che mi ha mandato trubian??
o c'è qualke problema??



Pubblica pubblica.....non cè nessun problema:-D

__________________
http://www.voglioscendere.ilcannocchiale.it/

Governare gli italiani non è impossibile, è inutile. (G.Giolitti)


Posted by Skilotto83 on 09-01-2005 10:55:

mmm...
sekondo me c'è qualke menata..tipo ke devo kiedere il suo permesso...

__________________
"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 Simbios on 09-01-2005 11:00:

Se ti ha dato informazioni di carattere generale penso tu possa pubblicarlo tranquillamente.Se invece cè qualche info personale evita...l'importante è che non pubblichi il progetto svolto :asd:

__________________
http://www.voglioscendere.ilcannocchiale.it/

Governare gli italiani non è impossibile, è inutile. (G.Giolitti)


Posted by Skilotto83 on 09-01-2005 11:03:

mi ha mandato le tue foto ke ti inkiappetti un kanguro...

__________________
"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 Simbios on 09-01-2005 11:19:

Originally posted by Skilotto83
mi ha mandato le tue foto ke ti inkiappetti un kanguro...
non è un canguro...è Angelo...il fiero bergamasco

__________________
http://www.voglioscendere.ilcannocchiale.it/

Governare gli italiani non è impossibile, è inutile. (G.Giolitti)


Posted by lino on 10-01-2005 09:34:

Progetto algoritmi Torelli

Domani esce il progetto, in bocca al lupo a tutti quelli che devono farlo.


Posted by Ariok on 10-01-2005 11:58:

UP----

Nessuna novita' sulle intenzioni di Trubian??

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by Skilotto83 on 10-01-2005 13:28:

non lo so...
io lo do sto mese e mi sbatto di brutto per farlo...
Poi se è vero quello ke dice meglio...vedremo se nn dovessi riuscire a farlo...

__________________
"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 p2p on 11-01-2005 09:20:

ok, è uscito!
http://homes.dsi.unimi.it/~fiorenti/labalg04.html


Posted by lino on 11-01-2005 09:59:

Lo scarico adesso.... la tua prima impressione com'è?


Posted by mitnik on 11-01-2005 10:27:

non sembra difficile trovare la struttura dati da utilizzare. difficile invece sarà gestrire le stringhe in input e quelle memorizzate insieme agli automi.


Posted by p2p on 11-01-2005 10:30:

Originally posted by mitnik
non sembra difficile trovare la struttura dati da utilizzare. difficile invece sarà gestrire le stringhe in input e quelle memorizzate insieme agli automi.

anche a me non sembra difficilissimo(ovviamente si sapra' lavorandoci :) ) ma al punto 2 pagina 3 si suppone che l' input sia sempre corretto per cui almeno per questo non bisogna implementare controlli


Posted by ghily on 11-01-2005 10:46:

e anche da noi inizia il progetto:

http://homes.dsi.unimi.it/~aguzzoli/algo.htm

Buon lavoro a tutti.

Chao
Roby


Posted by mitnik on 11-01-2005 10:46:

prima lettura data, quindi non sono sicuro di aver capito tutto, ma nell'esempio illustrato, il P(101)=12,3 si dovrebbe muovere con il segnale dato in input 1 W10A5 quindi andare verso W di 2 poi trova ostacolo e va verso E di 4 poi trova ostacolo (ha fatto 6 passi in tutto) quindi deve ritornare verso W di altri 4 passi e fermarsi alla cella 10,3. A questo punto l'input da A5 quindi l'automa dovrà spostarsi di 5 celle verso E; in realtà si sposta di 4 poi trova l'ostacolo e torna verso W di una per trovarsi alla fine di tutto in 13,3. Il testo dice invece che si trova in 12,3. Che dite è giusto il testo?


Posted by rossa on 11-01-2005 11:04:

Sì anche a me sembrava che ci fosse un errore e che quindi la posizione finale di 101 dovesse essere(13,3)


Posted by alessiolennon on 11-01-2005 11:19:

ciao raga,anch'io devo fare assolutamente questo progetto.
mi unisco al vostro gruppo di menti sopraffine. :-D

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


Posted by lino on 11-01-2005 11:51:

E' giusta la posizione, perche quando si muove di 4 verso l'ostacolo e lo incontra, il cambio di direzione conta un altro passo.


Posted by Jacoposki on 11-01-2005 12:40:

prima impressione: panico. Non si può usare una matrice.... quindi? liste concatenate che formano una matrice che si ridimensiona man mano che serve?

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


Posted by Teju on 11-01-2005 14:05:

INPUT DATI:
ma secondo voi i dati di input sono letti da un file con gia' tutte le istruzioni o l'utente le scrive di volta in volta fino e non vengono eseguite fino a che non scrive "F" di fine??

...cmq ho visto di peggio, non mi pare difficile! :)

__________________
Teju.it - Una vita da raccontare


Posted by Dav83 on 11-01-2005 14:21:

il gruppo diventa sempre più ampio...qualche mente è già riuscita a fare qualcosa tipo stabilire qual è la struttura dati del piano?

__________________
Ciao miao bau


Posted by andrea on 11-01-2005 14:26:

Lo standard input è la tastiera, quindi non credo ci siano files in input.
Io volevo invece chiedere se secondo voi il numero di automi è limitato oppure deve essere considerato senza vincoli. Che ne dite?


Posted by yoruno on 11-01-2005 14:31:

Intervento del moderatore:
Trattandosi dello stesso progetto per tutti i prof di algoritmi unisco i thread :)

__________________
"Voi che tingete i mari del colore dello zinco, che tramutate i boschi in gialli deserti, i venti in fumi di polveri da sparo e che bruciate i cieli. Voi che volete ripetere i malvagi atti della sconsiderata Lilith, che fu la prima moglie di Adamo e poi la sposa del Diavolo. Voi che volete ripetere la ribellione scatenata da Lucifero, del mondo celeste il più splendente. Voi! Ascoltate l'afflizione della sottospecie alata che vola alta nel cielo." [Angel Sanctuary]
::: mail: yoruno@dsy.it ::: ::: My Site ::: ::: Dsy Photo Gallery ::: ::: DeviantART Gallery :::


Posted by rossa on 11-01-2005 14:48:

Mi pare che vincoli non ce ne siano, anzi mi pare che dice proprio di non porre limitazioni al piano quindi direi anche al numero di automi e ostocali.
L' input mi sembra che dica chiaramente che deve essere, almeno per la presentazione finale del progetto, dal file di input (stdin), costruito come nella tabella1 e che quindi l' output dovrà essere sul file (stdout)


Posted by p2p on 11-01-2005 15:07:

Originally posted by rossa
L' input mi sembra che dica chiaramente che deve essere, almeno per la presentazione finale del progetto, dal file di input (stdin), costruito come nella tabella1 e che quindi l' output dovrà essere sul file (stdout)


scusami, ma con sdtin si intene la tastiera e con stdout si intende lo schermo... quindi nessun file...


Posted by mitnik on 11-01-2005 15:10:

l'input deve essere dato e quindi valutato di volta in volta, comunque per testare il progetto puoi mettere tutti i comandi che vuoi impartire in un file e passarli in input al tuo progetto.

Per il piano non mi sembra necessaria una struttura dati essendo esso un insieme di punti anche infiniti. La struttura dati serve invece per memorizzare gli automi e gli ostacoli. Una lista è sicuramente al struttura più semplice da implementare bisogna vedere poi come si comporta man mano che si sviluppa il progetto. Io penso di utilizzare tale struttura, non ho voglia di sbattere la testa su cose troppo complicate. Sperem


Posted by andrea on 11-01-2005 15:42:

Ma le stringhe in input in qualche modo devono essere limitate, o sbaglio?

Per quanto riguarda il piano io non ci ho ragionato ancora bene, ma come si può verificare se una cella è occupata da un ostacolo oppure no?


Posted by Teju on 11-01-2005 16:26:

Domandona da 10000000 di Euro:
il nome dell'automa può essere 00010, giusto?
Che tipo di dato è dunque il nome dell'automa?!? ;)
Una lista di boolean o esiste qualcosa di meglio?!?

__________________
Teju.it - Una vita da raccontare


Posted by mitnik on 11-01-2005 16:27:

Si le stringhe in input sono limitate

per vedere se una cella è contenuta in un ostacolo controlli che le sue coordinate non siano contenute in quelle di un ostacolo. per esempio se X0<Xc && Y0<Yc && X1>Xc && Y1>Yc (dove Xc e Yc sono le coordinate di un ostacolo e Xc, Yc di una cella) allora la cella è contenuta nell'ostacolo in esame.


Posted by Teju on 11-01-2005 16:32:

Originally posted by mitnik
Si le stringhe in input sono limitate

Ma scusa... tu intendi che sono limitate cioè ad un certo punto metto la "f" di fine o dici che non possono essere più di tot righe di comando???
Questa seconda ipotesi non mi sembrerebbe neanche da considerare, o no?? :-D

__________________
Teju.it - Una vita da raccontare


Posted by Teju on 11-01-2005 16:33:

Originally posted by Teju
Domandona da 10000000 di Euro:
il nome dell'automa può essere 00010, giusto?
Che tipo di dato è dunque il nome dell'automa?!? ;)
Una lista di boolean o esiste qualcosa di meglio?!?

:? :? :?

__________________
Teju.it - Una vita da raccontare


Posted by Dav83 on 11-01-2005 17:37:

il nome dell'automa può essere 00010.
io ho usato un vettore di caratteri di lunghezza 30. Il testo dice che non c'è limite per gli automi e gli ostacoli e di conseguenza non c'è limite neanche per il piano.
Per quanto riguarda il nome non credo sia un problema limitare la lunghezza...
altra domanda: come si fa a dividere le varie parti della riga di comando?
Esiste qualcosa simile allo stringtoken di Java?

__________________
Ciao miao bau


Posted by Freddy3 on 11-01-2005 17:37:

Beh, il problema di leggere l'imput ? il primo che balza all'occhio.

Tale problema ? dato dal fatto che le stringhe che rappersentano il nome dell'automa posso essere arbitrariamente lunghe!!!!

Quindi usare array di caratteri ? subito da scartare.

Anche modificare l'input... il proff lo vuole come dice il testo.

Aiuto!!!

Si potrebbe guardare sugli appunti di Torelli per?... gi? in passato sono stati fonte di idee mica male...

Vedo e domani, magari, chiss?... SPERIAMO mi venga un'idea decente.


Posted by Dav83 on 11-01-2005 17:41:

allora sì che è panico...

__________________
Ciao miao bau


Posted by Freddy3 on 11-01-2005 17:44:

a Dav 83

per dividere le varie parti della riga di comando usa le opzioni di printf.

Guarda nei vecchi progetti e ti puoi fare un'idea.


Posted by Teju on 11-01-2005 18:24:

Originally posted by Dav83
il nome dell'automa può essere 00010.
io ho usato un vettore di caratteri di lunghezza 30. Il testo dice che non c'è limite per gli automi e gli ostacoli e di conseguenza non c'è limite neanche per il piano.
Per quanto riguarda il nome non credo sia un problema limitare la lunghezza...

Beh, non sono d'accordo... nel senso che se intendo un piano illimitato, con n automi e ostacoli senza un limite preciso, non capisco come fare a limitare il nome dell'automa che deve essere univoco!
Infatti, facendo come dici tu, gli automi non sono infiniti ma limitati dalla lunghezza del nome!!

__________________
Teju.it - Una vita da raccontare


Posted by Teju on 11-01-2005 18:25:

Originally posted by Freddy3
per dividere le varie parti della riga di comando usa le opzioni di printf

Ma.... :? la printf non è per mettere a video qualcosa?? dunque che c'azzecca con il leggere dei dati da frazionare in parti?? :-D

__________________
Teju.it - Una vita da raccontare


Posted by rossa on 11-01-2005 21:13:

Ma secondo voi 2 automi possono essere nella stessa cella?
E quando un automa riceve l' istruzione di muoversi se incontra un altro automa cosa succede, lo scavalca?


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

Originally posted by rossa
Ma secondo voi 2 automi possono essere nella stessa cella?
E quando un automa riceve l' istruzione di muoversi se incontra un altro automa cosa succede, lo scavalca?

Si, non mi ricordo dove, ma c'è scritto che più automi possono condividere la stessa cella, dunque sovrapporsi, dunque no problem su questo! :D

__________________
Teju.it - Una vita da raccontare


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

Ma voi che struttura dati avete pensato di utilizzare???
A me verrebbe in mente un bel alberello binario, ma non riesco a concretizzarlo! :D
...e poi mi rimane sempre il dubbio di come salvare il dato "00010"...

__________________
Teju.it - Una vita da raccontare


Posted by rossa on 11-01-2005 21:23:

Ma secondo voi 2 automi possono essere nella stessa cella?
E quando un automa riceve l' istruzione di muoversi se incontra un altro automa cosa succede, lo scavalca?


Posted by Teju on 11-01-2005 21:27:

Originally posted by rossa
Ma secondo voi 2 automi possono essere nella stessa cella?
E quando un automa riceve l' istruzione di muoversi se incontra un altro automa cosa succede, lo scavalca?

Ma....:? ci sei o ci fai?!? Ti ho risposto io sopra!
Si, possono stare sulla stessa cella, dunque non occorre nessuno scavalcamento! :D

__________________
Teju.it - Una vita da raccontare


Posted by Skilotto83 on 11-01-2005 22:12:

kmq il fatto ke due automi possano coesistere nella stessa cella è insensato..anke se è kosi'...
Avrebbe dovuto aggiungere l'asse z per la profondità...
ma in effetti la cosa si komplika...

__________________
"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 Ariok on 11-01-2005 22:36:

Ciao ragazzi mi unisco anche io...
1) perche' tanti problemi per l'input ? non penso che sia da file ..ma sara' riga per riga....comuqneu domani mattian mando e-mail ad aguzzoli per avere conferma.
2)I nomi degli automi come rappresentarli ....io rimarrei per i caratteri [30] come diceva qualcuno pero' effettivamente cosi' non si possono avere infiniti automi.(anche qui ci vuole una conferma dal prof... penso che lui intenda porre peso al fatto che non si deve utilizzare una matrice per il piano , non penso sia importante avere infinite possibilita' per gli automi, ma comunque chiedo conferma)
3)come struttura utilizzerei una lista senza dubbio(altrimenti troppo sbatti :P) e aggiungerei un parametro per specificare se si tratta di un elemento automa o ostacolo.
Farei un semplice algoritmino per calcolare le celle occupate da un ostacolo (sia perimetro che interne ,avendo x0 y0 e x1 e y1 non e' difficile).

ora un dubbio....
Mi spiegate 'sta parte per favore?
------------------------------------->>>>>>>>>>>>>>>>-----------
All’atto dell’emissione del segnale ogni automa determina se tale segnale lo riguarda o meno: l’automa
di nome n deve eseguire le istruzioni codificate nella stringa B del segnale se e solo se A `e un prefisso di
B, vale a dire B = b1b2 ...... bh e A = b1b2 ..... bn per qualche h <= n.
------------------>>>>>>>>>>>>>>><----------------

Cosa vuol dire??? devo calcolare quali automi saranno effettivamente interessati al segnale???? non capisco in che modo..

...edit-------->
Effettivamente ..e' un po' un casino dividere l'input.... vediamo se trovo soluzioni su google .... :cry:

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by Jacoposki on 12-01-2005 01:16:

Originally posted by Teju
Domandona da 10000000 di Euro:
il nome dell'automa può essere 00010, giusto?
Che tipo di dato è dunque il nome dell'automa?!? ;)
Una lista di boolean o esiste qualcosa di meglio?!?


pssst... il tipo boolean non esiste, in C...

boh, io per l'automa pensavo a una struct contenente, oltre ai dati su posizione e direzione, un riferimento a una lista dinamica inizializzata al nome dell'automa indicato dalla chiamata a funzione, in modo che automi con nomi di lunghezza diversa abbiano dentro liste dinamiche con lunghezze diverse contenenti solo il nome stesso senza spreco di spazio.... ma sono anche le due e venti di mattina quindi non so quanto questa idea abbia senso, nè quanto sia fattibile (mi sa che Java mi influenza ancora troppo).

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


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

ciao ragazzi, cerco di dare le mie impressioni sul progetto dopo averlo letto meglio.
1) Per quanto riguarda l'input, io credo che la stringa relativa agli automi bisogna per forza limitarla (del resto anche il testo parla di "stringa finita"), perchè usando la scanf o la getchar bisogna per forza usare array e quindi si deve porre un limite superiore. Inoltre il testo parla di "vincoli che non devono essere posti sul piano o sul numero di celle " non dice nulla riguardo gli automi. Per questo io li limito di conseguenza alla limitazione della stringa. Certo, se il prof desse conferma sarebbe meglio.
2) Per quanto riguarda la frase degli spostamenti, si devono muovere quegli automi di cui la stringa alfa è prefisso. Questo mi fa pensare che se si deve spostare un automa, si devono spostare anche tutti quelli che risultano nei sottoalberi sx e dx del nodo corrispondente all'automa stesso (credo ci sia da studiare qualcosa sugli alberi binari).
3) Infine per quanto riguarda il piano, non ci ho ancora pensato. Credo che la verifica sulle coordinate sia la scelta giusta.

Spero di aver dato un contributo, se qualcuno pensa che ho scritto stupidate me lo dica, non mi offendo.


Posted by rossa on 12-01-2005 07:36:

Non ti trovi perchè la definizione è: l' automa di nome n deve eseguire le istruzioni codificate bella stringa B del segnale ( che è del tipo A,B) se e solo se A è prefisso di n (di n!!), cioè A=b1b2..bh e n=b1b2...bn per qualche h<=n.
Cioè un segnale impartisce una istuzione a più automi, tutti quelli che hanno A come prefisso.
Scusate avevate ragione è scritto chiaramente nel testo che su una cella può esservi più di un automa e di conseguenza si può attraversare anche se c' è un automa.
per la struttura da usare non ho ancora le idee chiare ma dividerei le informazioni (=le celle occupate) memorzzate sugli automi e sugli ostacoli perchè la ricerca sarebbe più snella in fase di movimento anche se poi in fase di creazione ci sono 2 ricerche da fare


Posted by marchinkus on 12-01-2005 08:54:

Ciao raga,se posso dire la mia, per quanto riguarda il segnale alfa e beta, sarebbe meglio utilizzare una lista di caratteri:
struct alfa{
char a;
alfa *next;
}

typedef struct alfa alfa;

struct beta{
char b;
int n;
beta *next;
}

typedef struct beta beta;

Cosa ne dite?? Vi sembra possibile????


Posted by p2p on 12-01-2005 09:22:

Originally posted by Ariok
Ciao ragazzi mi unisco anche io...
1) perche' tanti problemi per l'input ? non penso che sia da file ..ma sara' riga per riga....comuqneu domani mattian mando e-mail ad aguzzoli per avere conferma.

esatto... e si capisce dall' esempio portato tra pag3 e 4; inizia con il creare il piano, crea gli automi e gli ostacoli,fa qualche movimento e stampa la posizione che hanno raggiunto,esce con f.
a pag 3 dice che quando una linea è letta viene eseguita l' operazione associata, percui istruzione (enter)-->esecuzione(su nuova linea e a capo di nuovo), ecc li dovra sempre aspettarsi input fino a che non gli si da f, allora esce.


Posted by LoneWolf on 12-01-2005 09:47:

Originally posted by p2p
esatto... e si capisce dall' esempio portato tra pag3 e 4; inizia con il creare il piano, crea gli automi e gli ostacoli,fa qualche movimento e stampa la posizione che hanno raggiunto,esce con f.
a pag 3 dice che quando una linea è letta viene eseguita l' operazione associata, percui istruzione (enter)-->esecuzione(su nuova linea e a capo di nuovo), ecc li dovra sempre aspettarsi input fino a che non gli si da f, allora esce.

Il tuo discorso non regge, e ti spiego il perche'.
Tu hai un file con le operazioni da eseguire, una per riga.
Leggi la prima riga, la esegui; leggi la seconda e la esegui, e cosi' via fino all'ultima riga, in cui si suppone ci sia f.

Per cui, le istruzioni potrebbero benissimo essere lette da file.
Comunque ho scritto ieri pomeriggio una email a Fiorenti, ma non ha ancora risposto: appena mi risponde vi aggiorno.

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


Posted by dirkpitt on 12-01-2005 09:56:

Originally posted by Teju
...e poi mi rimane sempre il dubbio di come salvare il dato "00010"...

E se si usassero banalmente delle stringhe?

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


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

Originally posted by dirkpitt
E se si usassero banalmente delle stringhe?

Le stringhe in C sono array di caratteri, e per gli array e' necessario specificare la lunghezza massima.
Per cui non va bene la soluzione suggerita da te.
Dovremmo utilizzare una lista di CHAR...

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


Posted by Ariok on 12-01-2005 10:17:

Originally posted by rossa
per la struttura da usare non ho ancora le idee chiare ma dividerei le informazioni (=le celle occupate) memorzzate sugli automi e sugli ostacoli perchè la ricerca sarebbe più snella in fase di movimento anche se poi in fase di creazione ci sono 2 ricerche da fare


In che senso divideresti le informazioni (celle oocupate)??

Io la butto.... al massimo insultatemi. :P

Avevo pensato una cosa del genere :
Creare una unica lista ceh contenga sia automi che ostacoli , i dati nella struct sarebbero coordinate direzione e nome automa(qui forse definito da un'altra struttura).Per gli ostacoli questi valori saranno null (tranne le coordinate naturalmente).In questo modo si possono fare dei controlli diretti sulla stessa lista ,secondo voi e' fattibile?

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by p2p on 12-01-2005 10:17:

Originally posted by LoneWolf
Il tuo discorso non regge, e ti spiego il perche'.
Tu hai un file con le operazioni da eseguire, una per riga.
Leggi la prima riga, la esegui; leggi la seconda e la esegui, e cosi' via fino all'ultima riga, in cui si suppone ci sia f.

Per cui, le istruzioni potrebbero benissimo essere lette da file.
Comunque ho scritto ieri pomeriggio una email a Fiorenti, ma non ha ancora risposto: appena mi risponde vi aggiorno.

si è vero, comunque lo (stdin) è la tastiera,non i file, quindi ne deducevo quello sopra deto... va beh cmq questo è l' ultimo dei problemi :-o


Posted by p2p on 12-01-2005 10:32:

Originally posted by Ariok
In che senso divideresti le informazioni (celle oocupate)??

Io la butto.... al massimo insultatemi. :P

Avevo pensato una cosa del genere :
Creare una unica lista ceh contenga sia automi che ostacoli , i dati nella struct sarebbero coordinate direzione e nome automa(qui forse definito da un'altra struttura).Per gli ostacoli questi valori saranno null (tranne le coordinate naturalmente).In questo modo si possono fare dei controlli diretti sulla stessa lista ,secondo voi e' fattibile?

anch io stavo pensando a una cosa simile.. quindi ogni nodo dell lista sarebbe una cella,giusto?quando un automa deve fare una mossa bisogna passare tutta la lista,vedere quali nodi sono ostacoli e fare un confronto sulle coordinate di ogni ostacolo con la prossima posizione che andra' ad occupare l' automa?
pero' non mi senbra molto efficiente,anzi per una lista lunga mi sa che sarebbe lentino.. che dici?


Posted by dirkpitt on 12-01-2005 10:34:

Originally posted by LoneWolf
Le stringhe in C sono array di caratteri, e per gli array e' necessario specificare la lunghezza massima.
Per cui non va bene la soluzione suggerita da te.
Dovremmo utilizzare una lista di CHAR...

Ma una lista per i soli nomi è una pazzia! Appesantirebbe il progetto per una sciocchezza!

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


Posted by andrea on 12-01-2005 10:47:

Anche secondo me fare una lista per la stringa in input è eccessivo. Inoltre, scusate se mi ripeto, non mi pare che il testo specifichi qualcosa sui vincoli relativi agli automi. Quello che voglio dire è che probabilmente possiamo fare noi delle supposizioni. Per esempio anche lo standard in e out non viene specificato se deve essere tastiera/monitor o file, quindi secondo me uno può fare come vuole. Anche se, a mio parere, è scontato che siano tastiera e monitor.

Per quanto riguarda la verifica delle celle durante i movimenti, se si fa una lista, questa deve essere percorsa ad ogni passo di un movimento. Per esempio, se un automa deve muoversi di 10 passi, bisogna passare la lista 10 volte? non vi pare un pò pesante? A me sì, ma non ho idea di cosa usare come alternativa... A lezione non ha fatto esempi di questo tipo?


Posted by Dav83 on 12-01-2005 10:47:

Anch'io penso che una lista solo per i nomi sia un pò esagerato...
per quanto riguarda il listone automa-ostacoli non saprei. Se la lista deve considerarsi infinita prima che confronti le coordinate del nuovo automa con tutti i possibili ostacoli viene Natale...

__________________
Ciao miao bau


Posted by rossa on 12-01-2005 10:49:

Originally posted by p2p
anch io stavo pensando a una cosa simile.. quindi ogni nodo dell lista sarebbe una cella,giusto?quando un automa deve fare una mossa bisogna passare tutta la lista,vedere quali nodi sono ostacoli e fare un confronto sulle coordinate di ogni ostacolo con la prossima posizione che andra' ad occupare l' automa?
pero' non mi senbra molto efficiente,anzi per una lista lunga mi sa che sarebbe lentino.. che dici?



Anche io ho questo tipo di perplessità: una lista appesantirebbe troppo la ricerca visto che gran parte del progetto prevede delle ricerche ed anche per questo motivo volevo memorizzare a parte gli automi che non creano problemi al movinìmento mentre credo che gran parte delle istruzioni siano di movimnto e non di creazione. Ma non ho idee! Non saprei trovare una struttura che permetta una facile ricerca su questi tipi di dati


Posted by dirkpitt on 12-01-2005 10:50:

Originally posted by Dav83
Anch'io penso che una lista solo per i nomi sia un pò esagerato...
per quanto riguarda il listone automa-ostacoli non saprei. Se la lista deve considerarsi infinita prima che confronti le coordinate del nuovo automa con tutti i possibili ostacoli viene Natale...

Infatti! Usando due liste separate la cosa dovrebbe alleggerirsi un po'....
Altre alternative, al momento, non mi vengono in mente.

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


Posted by Teju on 12-01-2005 10:53:

Leggere le operazioni:
mi date per favore dei link di esempi di lettura delle operazioni? Il prof assicura che se ne son viste a lezione... peccato che non tutti possano seguire! :cool:

__________________
Teju.it - Una vita da raccontare


Posted by Dav83 on 12-01-2005 10:56:

anch'io ho fatto per ora due liste. mi chiedevo però come poi risolvere il problema su crea. Mi spiego.
Immaginando di non avere un piano le uniche cose memorizzate sono ostacoli e automi. Creare un piano nuovo significa cancellare entrambe le liste. come posso fare a realizzarlo? Nasce il problema di passare parametri che la funzione non richiede ci siano...o sbaglio? Forse mi sono addentrato un pò troppo ma era per far capire che non sono sicuro neanch'io stesso della soluzione "2 liste"...

__________________
Ciao miao bau


Posted by p2p on 12-01-2005 10:57:

ok, sembriamo tutti d' accordo che una lista unica non è efficiente, quindi serve qualcos altro.....
tabelle hash?permettono un universo di chiavi infinite(il nostro piano)e si potrebbero usare le celle della tabella come puntatori agli elementi.... xò boh.. che dite?


Posted by Dav83 on 12-01-2005 11:02:

Può essere un'idea "tabella linkata". diventa più complicato e io non saprei bene come implemetarla ma col vostro aiuto...

__________________
Ciao miao bau


Posted by dirkpitt on 12-01-2005 11:03:

Originally posted by p2p
ok, sembriamo tutti d' accordo che una lista unica non è efficiente, quindi serve qualcos altro.....
tabelle hash?permettono un universo di chiavi infinite(il nostro piano)e si potrebbero usare le celle della tabella come puntatori agli elementi.... xò boh.. che dite?

Sì, è un'alternativa valida, ma come distingui gli automi dagli ostacoli in modo efficiente?

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


Posted by Teju on 12-01-2005 11:05:

Lunghezza nome degli automi:
a dire il vero stavo rileggendo il testo.... parla di "automa identificato univocamente [...] per qualche intero positivo n", dunque è possibile forse dire quanto 'n' deve essere lungo...
....uhm.... però che brutta cosa........

__________________
Teju.it - Una vita da raccontare


Posted by Dav83 on 12-01-2005 11:08:

in più dovresti comunque fare una lista per automi e una per ostacoli e dovresti creare la struttura per il piano con due puntatori molti dei quali saranno poi inutilizzati.

__________________
Ciao miao bau


Posted by LoneWolf on 12-01-2005 11:21:

Ma nessuno ha preso in considerazione di organizzare gli automi con una struttura ad albero?

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


Posted by LoneWolf on 12-01-2005 11:23:

Originally posted by Dav83
anch'io ho fatto per ora due liste. mi chiedevo però come poi risolvere il problema su crea. Mi spiego.
Immaginando di non avere un piano le uniche cose memorizzate sono ostacoli e automi. Creare un piano nuovo significa cancellare entrambe le liste. come posso fare a realizzarlo? Nasce il problema di passare parametri che la funzione non richiede ci siano...o sbaglio? Forse mi sono addentrato un pò troppo ma era per far capire che non sono sicuro neanch'io stesso della soluzione "2 liste"...

Basta che se hai gia' un piano deallochi la memoria che hai allocato per esso con la funzione free() e poi riallochi memoria per il nuovo piano, ottenendo un puntatore alla memoria per il nuovo piano.
Se non hai creato ancora nessun piano, passi direttamente alla allocazione della memoria.

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


Posted by Ariok on 12-01-2005 11:25:

non avete capito cosa intendevo forse ...
Nella lista unica metterei solo le celle occupate identificandole come "occupate da automa " oppure "occupata da ostacolo".
In questo modo il metodo crea sarebbe creare un puntatore alla lista (ancora vuota).

Probabilemtne non e' la soluzione migliore.. pero' volevo chiedervi se secondo voi puo' funzioanre ..anceh perche' creando due liste .. bisognere bbe fare confronti tra una lista e l'altra giusto?sinceramente non mi viene in mente come fare.

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by LoneWolf on 12-01-2005 11:27:

Originally posted by Ariok
non avete capito cosa intendevo forse ...
Nella lista unica metterei solo le celle occupate identificandole come "occupate da automa " oppure "occupata da ostacolo".
In questo modo il metodo crea sarebbe creare un puntatore alla lista (ancora vuota).

Probabilemtne non e' la soluzione migliore.. pero' volevo chiedervi se secondo voi puo' funzioanre ..anceh perche' creando due liste .. bisognere bbe fare confronti tra una lista e l'altra giusto?sinceramente non mi viene in mente come fare.


Secondo me un'unica lista sarebbe inefficiente perche' nel momento in cui vai a cercare tutti gli automi che hanno un determinato prefisso dovresti attraversare anche i nodi contenenti ostacoli, allungando i tempi di calcolo.
Non trovi?

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


Posted by Ariok on 12-01-2005 11:35:

sisis pienamente daccordo, pero' non saprei come fare confronti tra due liste differenti...quindi questa rimane l'unica soluzione alla mia portata , e' questo che vorrei capire .. " come fare dei controlli su 2 liste differenti?"
mi sa che mi manca qualche tutorial :P

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by Freddy3 on 12-01-2005 12:12:

inanzitutto scusate per il mio post di ieri in cui parlavo della printf... confusione totale :oops:

stavo pensando alla scanf, mi sono confuso.

questo progetto mi uccidera'

io userei un albero binario di ricerca per ordinare gli automi.

per gli ostacoli ho pensato ad una lista da confrontare in fase di inserimento con l'albero degli automi.

lo stesso vale per inserire gli ostacoli: bisogna vedere se nell'area da loro occupata si trova un automa.

Il mio problema ancora quello di leggere il nome dell'automa...
Ho scritto ad Aguzzoli che mi ha risposto che il nome e' una stringa di lunghezza n, quindi di lunghezza variabile.

Mi ha espressamente detto che l'array per memorizzarlo e' inefficente!

Pensiamo a qualcosa d'altro.


Posted by dirkpitt on 12-01-2005 12:53:

Originally posted by Freddy3

Il mio problema ancora quello di leggere il nome dell'automa...
Ho scritto ad Aguzzoli che mi ha risposto che il nome e' una stringa di lunghezza n, quindi di lunghezza variabile.

Mi ha espressamente detto che l'array per memorizzarlo e' inefficente!

Pensiamo a qualcosa d'altro.

Non capisco perché sia inefficiente. E' vero che può essere limitato, però credo che un array di 32 caratteri sia sufficiente (4 miliardi e rotti automi...) anche se non infinito.
Penso che sia molto più inefficiente l'uso di liste (che, se vogliamo vedere, a lungo (meglio lunghissimo...) andare è comunque limitato dalla memoria della macchina).

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


Posted by Teju on 12-01-2005 12:54:

Originally posted by Freddy3
Pensiamo a qualcosa d'altro.

Lista... :-D

__________________
Teju.it - Una vita da raccontare


Posted by LoneWolf on 12-01-2005 13:44:

Ragazzi, siete in SILAB?
Accorrete! :-D

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


Posted by Freddy3 on 12-01-2005 13:46:

E' inefficiente xche' se il nome e' lungo 33 caratteri non e' memorizzato correttamente.

Li si parla della lunghezza della stringa, non del numero di combinazioni diverse di 0 e 1 che si possono ottenere.

io avevo pensato all-opzione "s" della scanf che legge una sequenza di caratteri...

pero' la devo ancora testare.


Posted by Freddy3 on 12-01-2005 13:48:

io sono al silab, mi appresto a testare la mia idea... incrociate le dita!!!


Posted by LoneWolf on 12-01-2005 13:49:

Vieni a trovarci, siamo i due vicino alla porta finestra vicino all'aula Delta.

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


Posted by p2p on 12-01-2005 14:00:

Originally posted by Freddy3
io sono al silab, mi appresto a testare la mia idea... incrociate le dita!!!
aspetto con ansia.... da casa :)


Posted by Teju on 12-01-2005 14:06:

Originally posted by Teju
Leggere le operazioni:
mi date per favore dei link di esempi di lettura delle operazioni? Il prof assicura che se ne son viste a lezione... peccato che non tutti possano seguire! :cool:

:D

__________________
Teju.it - Una vita da raccontare


Posted by Freddy3 on 12-01-2005 14:12:

niente, il cs1300 non parte sul pc dell'uni...

vado alla maison per vedere se combino qualcosa.

poi faccio sapere domani se ho raggiunto un risultato.

Scusa Lonewolf, ma devo proprio scappare!

:oops:


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

Scusate un attimo, ma a mio parere un conto è parlare di efficienza e un conto è parlare di lunghezza massima della stringa. Sbaglio?


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

Questo è il mio main: mi dite com'è possibile che non legga i dati corretti se inserisco l'istruzione "a 12 23 W 001"?
...e per di più se al posto di "W" metto "S" mi faccia partire anche l'istruzione "manda segnale"?!?

PHP:

main()
{
    // Variabili
    int operazione;
    int a, b, c, d;

    do
    {
        operazione = getchar();
        switch(operazione)
        {
            case 'c':
                printf("crea il campo\n");
                break;
            case 'a':
                scanf("%d%d%d%d", &a, &b, &c, &d);
                printf("crea automa: %d %d %c %d\n");
                break;
            case 'o':
                printf("crea ostacolo\n");
                break;
            case 's':
                printf("manda segnale\n");
                break;
            case 'p':
                printf("posizione\n");
                break;
            case 'e':
                printf("elimina ostacolo\n");
                break;
        }
    } while (operazione != 'f');

    return 0;
}



Sono io che non capisco o non vedo l'errore o è il CS1300 che fa scherzi strani???

__________________
Teju.it - Una vita da raccontare


Posted by p2p on 12-01-2005 14:51:

Originally posted by andrea
Scusate un attimo, ma a mio parere un conto è parlare di efficienza e un conto è parlare di lunghezza massima della stringa. Sbaglio?

si pero' se il prof. vuole cosi...

scusate ma il discorso piano?
l istruzione crea() deve creare un piano....
inoltre possiamo anche mettere le coordinate dei vari oggetti negli attributi di questi e confrontarli ogni volta,xò se usassimo una struttura adeguata(cioe' espandibile)la si potrebbe usare come per tener traccia delle posizioni.... non so se sono riuscito a spiegarmi :sad:

se usate le liste alla crea() cosa le fate fare?le specifiche parlano di piano,non di oggetti(cioe' automi e ostacoli)....
mi correggete per favore?


Posted by Freddy3 on 12-01-2005 14:56:

Aguzzoli mi ha detto così...

Pace e amen, la soluzione che avevo pensato non va...
credo userò una lista in cui ogni campo è uno dei valori della stringa nome dell'automa...

Poi il casino verrà dopo...

Altre idee?:cry:


Posted by andrea on 12-01-2005 15:02:

Scusa teju, ma la direzione non è un %d, credo sia un %c. Forse non funziona per questo. E neppure la sequenza binaria può essere un %d.

Per quanto riguarda la questione dell'input, io dico la mia. Da quanto è stato scritto qui, non mi pare che il prof abbia risposto che non si può limitare la stringa, ha detto che non è efficiente, ma credo che intenda che non è efficiente usare l'array per verificare se una stringa è prefisso di un'altra. Questa è la mia idea.


Posted by Freddy3 on 12-01-2005 15:14:

ah, Aguzzoli mi ha detto non che era non efficente, ma insoddisfacente.


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

Sì, ma cosa significa? Io ho idea che intenda che non è una buona scelta mantenere l'array nelle fasi successive del progetto, in particolare quando si deve verificare quali sono gli automi da muovere e quindi si dovrebbe confrontare bit a bit ogni stringa. Anche perchè il progetto stesso dice di usare la scanf o la getchar, e la scanf deve essere limitata. E' vero che si potrebbe usare la getchar con un while, ma mi sembra una cosa macchinosa per una questione secondaria rispetto al corso di algoritmi.


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

Io ho scritto direttamente al professor Fiorentini, visto che nel testo del progetto c'e' scritto di rivolgersi a lui, proprio perche' io volevo usare una lista per il nome di ciascun automa, e voi mi avete fatto sorgere il dubbio.

Dopo avermi suggerito "con non troppo garbo" di non fare il progetto perche' era una domanda stupida, sono riuscito a farmi togliere questo dubbio.

Vi riporto un passo della sua email:
Lei continua a farmi domande sciocche.

Sul testo e' scritto esplicitamente che il nome e' una stringa finita
b1, ..., bn, con n>=0, non c'e' scritto da nessuna parte che n<=30 e
nemmemo che si debba fissare un valore MAX tale che n<=MAX.

E poi nulla impedisce di inserire un unico automa il cui nome sia
fatto, ad esempio, di cento 0.

Le rinnovo l'invito a lasciar perdere il progetto e provi a svolgere
esercizi piu' semplici fra i numerosi proposti (ad esempio, lettura di
una stringa di lunghezza indefinita) prima di affrontare l'esame


Per cui si torna al fatto che non si puo' porre una limitazione alla lunghezza del nome dell'automa.

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


Posted by Ariok on 12-01-2005 16:42:

Exclamation IMPORTANTE

Per chi non fosse ancora sicuro se dare o no il progetto:

Trubian ha confermato che lo scritto dello scorso anno universitario rimarra valido per altri due appelli.

io ci provo comunque anceh se mi sa che mi mancano un po' di nozioni

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by Ariok on 12-01-2005 16:50:

X teju

In questo punto non manca una parte dopo il printf? non dovresti anche specificare a che variabili fanno riferimento i vari %d %d %c ecc?
case 'a':
scanf("%d%d%d%d", &a, &b, &c, &d);
printf("crea automa: %d %d %c %d\n");<--- intendo qui

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


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

Originally posted by Ariok
X teju

In questo punto non manca una parte dopo il printf? non dovresti anche specificare a che variabili fanno riferimento i vari %d %d %c ecc?
case 'a':
scanf("%d%d%d%d", &a, &b, &c, &d);
printf("crea automa: %d %d %c %d\n");<--- intendo qui

Si, hai ragione, mi ero scordato di dire che mi ero accorto dell'errore! :D

Però rimane il dubbio amletico su come leggere i nomi degli automi nuovi!!!
Ditemi per favore dove trovo i famosi esercizi svolti di cui parla il prof!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :(

__________________
Teju.it - Una vita da raccontare


Posted by Ariok on 12-01-2005 17:07:

Originally posted by Teju

Ditemi per favore dove trovo i famosi esercizi svolti di cui parla il prof!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :(


:clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap:

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


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

All'indirizzo http://homes.dsi.unimi.it/~fiorenti.../lucidi08_4.pdf pagina 5 c'e' un esempio che dovrebbe proprio fare al caso nostro; peccato che se copiate il codice paro paro il compilatore vi spara fuori un bell'errorone.
Infatti, nella dichiarazione dell'array fra le due quadre non c'e' alcun numero, mentre il compilatore si aspetta il numero massimo di elementi. :|

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


Posted by Skilotto83 on 12-01-2005 18:35:

Re: IMPORTANTE

Originally posted by Ariok
Per chi non fosse ancora sicuro se dare o no il progetto:

Trubian ha confermato che lo scritto dello scorso anno universitario rimarra valido per altri due appelli.

io ci provo comunque anceh se mi sa che mi mancano un po' di nozioni


sikuro??
Ci hai parlato tu???
A me aveva mandato una mail...e diceva proprio cosi'..

__________________
"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 Jacoposki on 12-01-2005 18:37:

oh che strano un programma di fiorentini che non funziona... :D

vabè, comunque per chi sta seguendo Algoritmi con Torelli/Fiorentini: questo progetto non è per noi, il nostro uscirà l'8 febbraio con orale ai primi di marzo.

__________________
Mai sottovalutare l'ampiezza di banda di una station wagon piena di nastri lanciata a tutta velocità lungo l'autostrada. - Andrew S. Tanenbaum - Reti di Calcolatori


Posted by Ariok on 12-01-2005 18:46:

Re: Re: IMPORTANTE

Originally posted by Skilotto83
sikuro??
Ci hai parlato tu???
A me aveva mandato una mail...e diceva proprio cosi'..


Sicuro 100%

Questa e' la sua risposta

Lo scritto rimane valido ancora per un paio di appelli (oltre a questo).
Cordialmente,
M.T.

__________________
My deviant art Page(maya & 3dstudio)

Vecchio Robot in Xsi
Altro Robot.. in costruzione

MSN yariok@msn.com


Posted by mitnik on 13-01-2005 08:40:

Ciao a tutti, come vi procede il lavoro?

avete trovato il modo per memorizzare una stringa di lunghezza indefinita? o meglio qual è il modo più efficiente


Posted by Dante on 13-01-2005 09:06:

Originally posted by mitnik
Ciao a tutti, come vi procede il lavoro?

avete trovato il modo per memorizzare una stringa di lunghezza indefinita? o meglio qual è il modo più efficiente



Se definisci un puntatore a char così:

char ch,d, *n;

e lo leggi così:

scanf ( "%d%d %c %s", &x,&y,&d,n);

e lo stampi così:

printf("\nx= %d, y= %d, d= %c, n= %s", x, y, d, n);


funziona... poi non so ancora se per il progetto sia la soluzione migliore cmq... funziona...

__________________
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 p2p on 13-01-2005 09:10:

secondo me basta leggere carattere per carattere il nome,una volta che si termina di leggere si sa quanto è grossa la stringa e quindi la si memorizza normalmente in un array.
Ieri sono andato a lezione dal prof. Fiorentini e proprio lui mi ha detto che basta fare cosi; NON ha parlato pero' di array, mi ha solo detto che basta leggere carattere per carattere e che una volta che si conoscono le dimensioni allocare e memorizzare... pero' l array a quel punto si puo' usare secondo me, anche perchè il C non permette di creare qualcosa di cui non si conoscano le dimensioni...
Inoltre parlando con lui, diceva che gli studenti si fissano ad usare troppe liste,che sono inefficienti,invece gli alberi binari di ricerca sono molto meglio(soprattutto per il discorso prefissi), io infatti usero un albero per gli automi in cui ogni nodo è in realta' un puntatore ad una struttura dati che contiene i dati satellite necessari.
Altra cosa: ha detto che normalmente è difficile che si riesca ad ottenere che tutte le funzioni siano efficienti,ad esempio se devo fare una ricerca su un dato dell' albero che non è chiave ma dato satellite, mi dovro' scorrere tutto l' albero come se fosse una lista(ovv. ineficiente) pero' mi ha fatto trapelare l' idea che andrebbe bene lo stesso ai fini del progetto... certo se si riesce ad ottimizzare tutto è molto meglio.

PS. Se qualcuno potesse andare a lezione dal prof. Aguzzoli e chiedergli qualche dritta...io ho gia' dato e tra l' altro oggi non posso andare.


Posted by LoneWolf on 13-01-2005 09:15:

Originally posted by p2p
secondo me basta leggere carattere per carattere il nome,una volta che si termina di leggere si sa quanto è grossa la stringa e quindi la si memorizza normalmente in un array.
Ieri sono andato a lezione dal prof. Fiorentini e proprio lui mi ha detto che basta fare cosi; NON ha parlato pero' di array, mi ha solo detto che basta leggere carattere per carattere e che una volta che si conoscono le dimensioni allocare e memorizzare... pero' l array a quel punto si puo' usare secondo me, anche perchè il C non permette di creare qualcosa di cui non si conoscano le dimensioni...

Ma secondo te, mentre leggi carattere per carattere, questi dove li vai a mettere, se non hai ancora creato l'array?

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


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

Volevo aggiungere che inizialmente avevo pensato di scrivere char per char in un riga di un file, poi leggere la riga una volta che l'input da tastiera per la corrente istruzione e' finito.

Chiedendo a mio fratello mi ha detto che lui aveva fatto una lista di char.

Off-Topic:
Scusate, ho trovato la edit solo ora, altrimenti avrei editato il precedente messaggio.

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


Posted by p2p on 13-01-2005 09:21:

Originally posted by LoneWolf
Ma secondo te, mentre leggi carattere per carattere, questi dove li vai a mettere, se non hai ancora creato l'array?
leggi la lezione 9 di Aguzzoli le ultime pagine, cè un programma di esempio che parte pa pag.26 dove "L’elenco delle parole viene memorizzato in un array di stringhe
allocato dinamicamente."
potrebbe andare no?


Posted by Teju on 13-01-2005 09:26:

Originally posted by Dante
scanf ( "%d%d %c %s", &x,&y,&d,n);

e lo stampi così:

printf("\nx= %d, y= %d, d= %c, n= %s", x, y, d, n);

Ho provato, funziona.... più o meno.... nel senso che con input corti è perfetto, ma prova a inserire un numero lungo: a me si chiude male l'applicazione, da errore.... :? Perchè???????

Mi auto quoto! Ora funziona, mi sa che aveva compilato male il GCC! :D

__________________
Teju.it - Una vita da raccontare


Posted by Dante on 13-01-2005 09:31:

già, caspio! è vero... cmq a me da errore quando termino il progrmamma con la f... bah... compilatori del cacchio... nn lo so... ci penso... se qlcn lo sa lo dica...

__________________
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 LoneWolf on 13-01-2005 09:42:

Originally posted by p2p
leggi la lezione 9 di Aguzzoli le ultime pagine, cè un programma di esempio che parte pa pag.26 dove "L’elenco delle parole viene memorizzato in un array di stringhe
allocato dinamicamente."
potrebbe andare no?

Non lo so, hai provato a farlo?

Comunque gli altri hanno suggerito una soluzione che sembra funzionare.

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


Posted by LoneWolf on 13-01-2005 09:58:

Se siete in Silab e volete fare due chiacchiere sul progetto, io e Teju siamo in SILAB, vicino all'aula Delta, nell'angolo verso il cortile interno.
Ci riconoscete vedendo i manuali di C tutt'attorno.

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


Posted by joe.satriani on 13-01-2005 12:27:

scusate ragazzi, ma per fare l'appello di torelli non è indispensabile fare lo scritto, vero?


Posted by andrea on 13-01-2005 12:40:

No, con Torelli no.


Posted by luca8684 on 13-01-2005 12:42:

Col torelli c'è solo l'orale dopo il progetto!!

Originally posted by joe.satriani
scusate ragazzi, ma per fare l'appello di torelli non è indispensabile fare lo scritto, vero?

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


Posted by andrea on 13-01-2005 12:58:

ciao ragazzi,
ho scritto anche io a Fiorentini per chiedergli se la stringa dell'automa poteva essere limitata da una dimensione massima. Questa è la risposta:
...
La specifica dice che il nome e' una sequenza finita.

La frase ha un'unica interpretazione, ossia (come e' poi scritto
esplicitamente) il nome e' una sequenza di 0 e di 1
di lunghezza n>=1 non definita a priori
...

A questo punto mi pare chiaro che non si può usare la scanf con array. Credo proprio che le stringhe vadano gestite con la getchar.


Posted by Teju on 13-01-2005 13:02:

Originally posted by andrea
Credo proprio che le stringhe vadano gestite con la getchar.

Ok, lì ci siamo: dunque van salvate in una lista di char i vari caratteri del nome... oppure no?

__________________
Teju.it - Una vita da raccontare


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

Sì, credo proprio che l'unica strada sia questa. Anche se diventa veramente tutto molto macchinoso.


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

Originally posted by Teju
Ok, lì ci siamo: dunque van salvate in una lista di char i vari caratteri del nome... oppure no?
scsate se mi ripeto, ma sopra avevo detto che lo stesso Fiorentini mi ha detto di leggere carattere per carattere e che una volta finito sappiamo la dimensione per memorizzare il nome....
quindi secondo me come l esempio che avevo riportato prima, cioe' alloco tot spazio e continuo a leggere se vedo che non mi basta uso un realloc(), alla fine sapro' quanto spazio mi serve per aggiungere sto automa allastruttura che uso...
almeno credo, adesso vado a lezione,stasera lo provo e vi faccio sapere
ciao


Posted by mitnik on 13-01-2005 13:23:

io provo così: leggo l'input e il nome dell'automa lo metto in un array tipo:

char nome[N]; con N che indica la massima lunghezza che può avere il nome; lo so che non è definita però è finita quindi N lo si può porre anche molto grande.

poi uso strlen e strcpy per sapere la lunghezza del nome e allocare quindi lo spaxio necessario ad un array di char che contiene il nome dell'automa.


Posted by Teju on 13-01-2005 13:33:

Originally posted by p2p
realloc()

Cioè mi vuoi dire che se dichiaro un array di dimensione N definito, posso, tramite la realloc, aumentare lo spazio disponibile??
Come si usa questa funzione?

__________________
Teju.it - Una vita da raccontare


Posted by andrea on 13-01-2005 13:59:

mitnik, credo che non possa fare come tu dici, perchè N può essere grande finchè vuoi, ma è pur sempre limitato


Posted by Freddy3 on 13-01-2005 14:06:

Originally posted by p2p
leggi la lezione 9 di Aguzzoli le ultime pagine, cè un programma di esempio che parte pa pag.26 dove "L’elenco delle parole viene memorizzato in un array di stringhe
allocato dinamicamente."
potrebbe andare no?



quale lezione dici? quella del 16 dicembre?


Posted by mitnik on 13-01-2005 14:34:

ma scusa il testo dice: ogni automa è identificato da un nome che è una stringa finita sull'alfabeto (0,1)....
...La sorgente remota può emettere segnali rappresentati da stringhe finite del tio a,B..

allora pongo per esempio N=65536; tale valore dovrebbe essere abbastanza grande. Certo la stringa potra essere più lunga ma non infinitamente lunga. che dici?


Posted by andrea on 13-01-2005 15:00:

Anche io avevo interpretato così, ho chiesto a fiorentini che mi ha risposto che non va bene. La stringa è finita, ma non c'è limite superiore. Leggi la sua mail di risposta che ho postato qualche messaggio fa.


Posted by Freddy3 on 13-01-2005 15:22:

ideina:-D :
se facciamo leggere la stringa e la memorizziamo in un puntatore a char (come diceva dante) e poi dichiariamo un array di dimensione di quello che è puntato da questo puntatore e ce lo copiamo dentro?

potrebbe funzionare!!! :?


Posted by andrea on 13-01-2005 16:12:

Non credo, perchè con un puntatore a char puoi leggere solo un char. Come fai a capire dove finisce la stringa che hai letto?


Posted by mitnik on 13-01-2005 16:39:

sia utilizzando i puntatori a char sia utilizzando altri metodi come per esempio la lettura con getchar è necessario allocare dello spazio in memoria per contenere il tutto. Per fare cio è necessario dare una dimensione finita (considerato anche che la memoria lo è). Quindi io penso di proseguire con la mia idea di allocare uno spazio in memoria di supporto per contenere la stringa; poi in base alle dimensioni di questa alloco spazio definitivo per contenere il bone dell'automa, liberando quello utilizzato come supporto. Non sarà sicuramente il metoso più corretto ma sinceramente non trovo altre soluzioni per poter esaminare una stringa di lunghezza arbitraria. Se continup a sbattere la testa su questo problema il 30 gennaio sarò qui ancora a pensare a come e dove memorizzare una cazzo di stringa.


Posted by thetheus on 13-01-2005 16:42:

ciao a tutti provate a consultare questo esempio utilizza realloc()
http://programmazione.html.it/c/c_32.htm


Posted by andrea on 13-01-2005 16:46:

Scusa, mitnik, ma non è più semplice se allochi lo spazio in memoria elemento per elemento della lista invece che allocare all'inizio lo spazio di una lista intera? Mi spiego: se fai un ciclo sulla getchar, ti arriva il carattere, a questo punto allochi il nodo e lo inserisci nella lista. Poi vai a leggere il carattere successivo, allochi il nodo e lo inserisci. Continui così fino a quando il carattere non è un new line.


Posted by Skilotto83 on 13-01-2005 16:57:

Originally posted by andrea
Scusa, mitnik, ma non è più semplice se allochi lo spazio in memoria elemento per elemento della lista invece che allocare all'inizio lo spazio di una lista intera? Mi spiego: se fai un ciclo sulla getchar, ti arriva il carattere, a questo punto allochi il nodo e lo inserisci nella lista. Poi vai a leggere il carattere successivo, allochi il nodo e lo inserisci. Continui così fino a quando il carattere non è un new line.

infatti sekondo me questo è il metodo corretto..
essendo in un while è potenzialmente infinita la stringa...

__________________
"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 13-01-2005 17:00:

ok questo modo è giustissimo però cio vuol dire che utilizzi una lista per contenere ogni nome dell'automa? ad ogni elemento della lista corrisponde un carattere?

Potrebbe essere giusto ma considera che probabilmente del nome di un automa utilizzerai solo i primi caratteri pre verificare che un segnale influenzi un automa, quindi parte della lista non verrà mai usata e questo è uno spreco doppio rispetto all'utilizzo di un puntatore ad un array di char


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

qualcuno mi sa indicare un buon editor magari da scaricare?


Posted by p2p on 13-01-2005 18:15:

Originally posted by joe.satriani
qualcuno mi sa indicare un buon editor magari da scaricare?

io uso ConTEXT http://www.context.cx/


x chi mi aveva chiesto la lezione con l esempio della lettura e allocazione dinamica di memoria è qui:
http://homes.dsi.unimi.it/~aguzzoli...lgo/lucidi9.pdf

l esempio parte da pag.25 nelle pagine successive viene spiegato tutto


Posted by Dav83 on 13-01-2005 23:52:

qualcuno ha idea di come si faccia a verificare la presenza di un prefisso nel campo char *nome della struttura di automa???

Una buona soluzione strutturale potrebbe essere quella degli alberi binari sia per automi che per ostacoli...a proposito ci dovrebbe essere da qualche parte nella sezione Filez il progetto Banchetto. ALtrimenti sulla pagina di fiorentini la lezione 12 ci può aiutare!

__________________
Ciao miao bau


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

quindi tu Andrea utilizzi una lista anche per contenere il segnale dato in ingresso?


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

uso la lista per prendere il parametro in input (la stringa binaria), ma poi secondo me mantenere una lista per ogni automa è troppo. Bisogna pensare a qualcosa di diverso.


Posted by mitnik on 14-01-2005 09:06:

so potrebbe leggere l'input e metterlo in una stringa, contare gli elementi, allocare lo spazio per un array di char (relativo all'automa inserito ) copiare il cotenuto della lista in tale array, svuotare la lista. E' un po lungo ma effettivamente si può inserire una stringa di qualsiasi dimensione.


Il problema rimane esaminare in modo corretto il segnale. avete qualche idea?


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

Originally posted by Dav83
qualcuno ha idea di come si faccia a verificare la presenza di un prefisso nel campo char *nome della struttura di automa???

Una buona soluzione strutturale potrebbe essere quella degli alberi binari sia per automi che per ostacoli...a proposito ci dovrebbe essere da qualche parte nella sezione Filez il progetto Banchetto. ALtrimenti sulla pagina di fiorentini la lezione 12 ci può aiutare!


Puoi mettere in AND il prefisso e il nome dell'automa, considerando nel risultato soltanto un numero di bit pari alla lunghezza del prefisso.
Se sono tutti 1 il prefisso è contenuto nell'automa.

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


Posted by andrea on 14-01-2005 12:13:

non credo proprio in AND (0 AND 0 fa 0, non 1). Magari in EXOR per vedere i bit diversi e quelli uguali.


Posted by LoneWolf on 14-01-2005 12:56:

Originally posted by andrea
non credo proprio in AND (0 AND 0 fa 0, non 1). Magari in EXOR per vedere i bit diversi e quelli uguali.


Hai ragione anche tu, ma non essendo arrivato ancora a quel punto non avevo approfondito l'idea.:-o
Comunque la strada a mio parere è quella.

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


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

Qualcuno sa cosa significa questo messaggio di errore che compare all'atto della compilazione:
C:/Programmi/cs1300/bin/../lib/gcc-lib/mingw32/3.3.1/../../../libmingw32.a(main.o)(.text+0x97):main.c: undefined reference to `WinMain@16'

:? :? :?


Edit:
--> PROBLEMA RISOLTO... nel file non è presente la funzione main... cosa normale visto che lo uso semplicemente come file contentente l'implementazione della lista...

__________________
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 15:28:

Originally posted by dirkpitt
Qualcuno sa cosa significa questo messaggio di errore che compare all'atto della compilazione:
C:/Programmi/cs1300/bin/../lib/gcc-lib/mingw32/3.3.1/../../../libmingw32.a(main.o)(.text+0x97):main.c: undefined reference to `WinMain@16'

:? :? :?

Guarda, ieri sera mi è saltato fuori un errore del genere; non ricordo che errore avessi fatto di preciso, comunque era qualcosa del tipo errore di sintassi, punto e virgola saltato o simili.

__________________
"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 16:22:

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)?

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


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

......

__________________
Teju.it - Una vita da raccontare


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

ma avete risolto il problema della lettura dell'input? come suddividete per esempio il comando

a 12 6 N 010101

dove memorizzate il tutto?


All times are GMT. The time now is 13:09. 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.