.dsy:it. Pages (33): « First ... « 5 6 7 8 [9] 10 11 12 13 » ... Last »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- [Algoritmi] Progetto "RICHIAMI" (http://www.dsy.it/forum/showthread.php?threadid=17192)


Posted by wingzero on 11-02-2005 14:38:

Originally posted by mark
scusate ma non ho capito come lavora esistePercorso()

Il testo del progetto recita: se esiste un percorso libero di lunghezza D(P(n) , (x,y))

cosa vuol dire ?


altra particolarità: ma il programma dovrà generare l'output solo quando viene inserito il carattere 'f' ??


Spero non intenda quello altrimenti tener traccia di tutto l'history dei comandi e di ciò che fanno sulle strutture dati diventa una cosa assurda. Già è difficilissimo gestire il tutto in maniera dinamica su un mondo quadrato di signed int 32bit in C...


Posted by mark on 11-02-2005 14:51:

Originally posted by wingzero
Spero non intenda quello altrimenti tener traccia di tutto l'history dei comandi e di ciò che fanno sulle strutture dati diventa una cosa assurda. Già è difficilissimo gestire il tutto in maniera dinamica su un mondo quadrato di signed int 32bit in C...



io ho inteso che l'output viene generato nel momento in cui si digita 'f'

a mio avviso, prima non avrebbe molto senso

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by wingzero on 11-02-2005 15:04:

Originally posted by mark
io ho inteso che l'output viene generato nel momento in cui si digita 'f'

a mio avviso, prima non avrebbe molto senso


Io non credo sia come dici tu, perchè sul comando f viene solo detto che termina il programma. Se fosse come dici tu il professore avrebbero dovuto scrivere per il comando qualcosa del tipo : "Termina l'esecuzione del programma e genera l'output eseguendo tutti i comandi inseriti dall'utente nell'ordine dato".
O qualcosa del genere.
Visto che per il comando f viene solo detto che termina il programma, significa solo che interrompe il codice e torna al sistema operativo/prompt dei comandi.


Posted by p2p on 11-02-2005 15:09:

non si stampa alla fine. l esecuzione di ogni comando è immediata x cui se un comando deve stampare stampa se no esegue le se operazioni e basta, la f serve solo per uscire dal programma, in pratica nel tuo ciclo

case 'f':
/* Fine del programma. */
return 0;
break;


Posted by mark on 11-02-2005 15:28:

ma l'input non avviene riga per riga completa ?

esempio:

o 10 -5 8 12

non penso che uno si deve aspettare una cosa del tipo:

digitare un comando: o

e poi....

inserire le coordinate dell'ostacolo (x1,y1,x2,y2):

etc.....


in questo modo l'input sarebbe interminabile

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by p2p on 11-02-2005 15:39:

Originally posted by mark
ma l'input non avviene riga per riga completa ?

esempio:

o 10 -5 8 12

non penso che uno si deve aspettare una cosa del tipo:

digitare un comando: o

e poi....

inserire le coordinate dell'ostacolo (x1,y1,x2,y2):

etc.....


in questo modo l'input sarebbe interminabile

scusa , ma certo che se il comando o deve prendere dei parametri glieli devi dare subito, se non come fa ad andare in esecuzione??
leggi l esempio:
c //invio --> esecuzione del comando c;
o 12 12 12 12 // invio --> esecuzione del comando crea_ostacolo
ecc ecc

capito?


Posted by mark on 11-02-2005 15:49:

Originally posted by p2p
scusa , ma certo che se il comando o deve prendere dei parametri glieli devi dare subito, se non come fa ad andare in esecuzione??
leggi l esempio:
c //invio --> esecuzione del comando c;
o 12 12 12 12 // invio --> esecuzione del comando crea_ostacolo
ecc ecc

capito?



scusa ma non ci stiamo capendo

io posso tranquillamente digitare:

o 12 -8 15 67

e sapere gia dove memorizzare la linea di comando che farà qualche cosa, nel caso sopra costruire un ostacolo.

Tu invece, sembra che mi stai dicendo che un utente dovra vedere una cosa del tipo:

Menu principale

0) "c" per inizializzare
1) digita "o" per inserire un ostacolo
2) digita "a" per inserire un automa
3) ..........
n) "f" per terminare il programma

dopo aver scelto "a" ad esempio mostri il messagio che ti chiede di inserire i parametri per gli automi, del tipo:


inserire ora (a, b, alfa) separati da uno spazio:

quindi uno inserisce i 3 dati e si ritorna al menu principale


è così che intendi ?

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by p2p on 11-02-2005 15:53:

no
intendo che i comandi devono essere inseriti ed eseguiti subito.non si deve stampare niente a parte esistePercorso che deve stampare o Si o NO e tortuosita'


Posted by mark on 11-02-2005 16:39:

allora intendi una sorta di interprete tipo:

c:\digita una comando:

che rimane attivo ed elabora al volo sino a quando gli passi il carattere 'f'

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by Skilotto83 on 11-02-2005 20:01:

ma ke problemi sono???
la scanf o quel cazzius ke avete usato legge direttamente i caratteri e li passa alla funzione che vi serve...quando mandi invio esegue la funzione...se la funzione stampa qlks allora bene, altrimenti nulla...

__________________
"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 mark on 11-02-2005 22:33:

ok, è tutto chiarito :)

__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....


Posted by Jacoposki on 12-02-2005 10:44:

sarà tutto chiarito... ma possibile che nessuno abbia bisogno di uno con cui lavorare, da prendere a calci e da cui farsi prendere a calci a mo' di sprone al lavoro?

Io da solo 'sto progetto non lo riesco a fare... insisto: nessuno nessuno nessuno al silab? ;(

__________________
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 elpampero on 13-02-2005 09:41:

A quanto ho capito siamo fermi tutti allo stesso punto.
Direi però di orientarci verso questi tre algoritmi:
Kruskal
Prim
Dijkstra
In particolare l'ultimo è per la determinazione dei cammini minimi.
Torelli aveva chiaramente detto "QUESTI TRE ALGORITMI NON SARANNO CHIESTI ALL'ORALE MA SARANNO UTILI PER IL PROGETTO"!!!!!!!


Posted by Polsy on 13-02-2005 12:35:

ragazzi, qui il problema non è trovare il cammino minimo visto ke se poniamo come condizione ke l'automa si debba spostare sempre e solo verso la sorgente, se esiste un cammino allora quello è già minimo, e vale esattamente la distanza tra l'automa e la sorgente (intesa come differenza tra le y + differenza tra le x)
il problema è trovare la tortuosità minore, ke tra l'altro (mi è venuta l'illuminazione ieri sera) non significa trovare il cammino con tortuosità minore
mi spiego meglio: ho sclerato per 3-4 giorni sulla storia dei cammini perkè tentavo di trovare il singolo cammino con tortuosità minore di tutte e poi contarne la tortuosità, e poi mi sono accorta ke mi interessava solo la tortuosità, non lo specifico cammino ke me la facesse ottenere
per cui credo ke un modo di risolvere la questione sarebbe crearmi una matrice di valori ke mi rappresenta l'ideale rettangolo tra l'automa e la sorgente (con opportuni flag se la cella in questione è occupata) e tenere una variabile int tor in cui alla fine avrò la tortuosità minore di tutte
faccio un algoritmo di backtracking calcolando ricorsivamente TUTTI i percorsi possibili su quella matrice (tenendo conto in una variabile temp ad ogni passo della tortuosità che ho raggiunto nel cammino corrente fino a quella cella) e ogni volta ke arrivo nella cella della sorgente se tor è vuota (metterò un valore convenzionale tipo -1) oppure se temp<tor allora assegno a tor il valore di temp
e vado avanti fino alla fine, quando ho esaurito tutti i cammini tor conterrà il valore della tortuosità del cammino ottimale, anke se alla fine non ho la + pallida idea di quale sia questo cammino :)

lo so provare tutti i cammini possibili non è bello in termini di tempo, ma x ora questa è stata l'unica idea ke ho avuto x cui funziona la storia delle tortuosità, suggerimenti e consigli a proposito sono ovviamente ben accetti :)


Posted by fdecollibus on 13-02-2005 12:35:

scusate ragazzi, una cosa un po' più bassa.... come si fa il valore assoluto in c? E se ho allocato dinamicamente un array, come faccio a sapere quando è finito?


All times are GMT. The time now is 18:15. Pages (33): « First ... « 5 6 7 8 [9] 10 11 12 13 » ... Last »
Show all 482 posts from this thread on one page

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