![]() |
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)
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 -----------------
__________________
Teju.it - Una vita da raccontare
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... ![]()
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"
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
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...
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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)?
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?
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...
Che sbattimento!__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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)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...
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...
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]);
}
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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...
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
In assoluto sono anche i più difficili da implementare!
![]()
Comunque stasera mi rileggo la teoria sugli RB-alberi e valuto se abbandonare i B-alberi moddati che avevo pensato di utilizzare.
partendo dall'input " N20W40": come diavolo fate a suddividere il primo comando N20 dal secondo W40??????????
se non risolvete il problema del segnale, è inutile partire in quarta pensando già alle strutture da implementare...non farete molta strada
Originally posted by marchinkus
partendo dall'input " N20W40": come diavolo fate a suddividere il primo comando N20 dal secondo W40??????????
Originally posted by p2p
non so ma intuitivamente divido i numeri dalle lettere...
__________________
Teju.it - Una vita da raccontare
scusate, ma voi alla crea() le fate inizializzare la struttura che conterra gli automi?o le fate fare altro?
Originally posted by p2p
scusate, ma voi alla crea() le fate inizializzare la struttura che conterra gli automi?o le fate fare altro?
__________________
Teju.it - Una vita da raccontare
Originally posted by Teju
Io credo debba inizializzare anche la struttura degli ostacoli, no?
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"
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
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?
Originally posted by andrea
Teju, non ho capito bene la domanda...
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?
__________________
Teju.it - Una vita da raccontare
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.
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ì?
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?
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"
scusate se ripeto la domanda... ma voi inserite tutto in un unico file o suddividete?
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
come avete risolto la divisione della stringa in input segnale? (tipo s 1001 N10S4)
mi dareste qualche indicazione
grazie
ragazzi, ma voi che strutture state usando visto che le liste sono le più sconsigliate?
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.
Originally posted by joe.satriani
ragazzi, ma voi che strutture state usando visto che le liste sono le più sconsigliate?
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...
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"
Originally posted by p2p
io sto usando un RB albero per gli automi [...]
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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...
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Mah... io seguirei il consiglio di Torak... provate il prossimo appello!

__________________
Questo è il giardino
Dove il principe muore
Nessun sentiero
Nessun destriero
Soltanto un nome... Eterno...
Originally posted by LazerPhEa
Mah... io seguirei il consiglio di Torak... provate il prossimo appello!![]()
![]()
![]()
Paolo!__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Non so se considerarti un temerario o un folle!![]()

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!
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Aveva ragione la tua tipa, sei troppo irritante!![]()
![]()
![]()
Paolo!



__________________
Questo è il giardino
Dove il principe muore
Nessun sentiero
Nessun destriero
Soltanto un nome... Eterno...
Originally posted by LoneWolf
Visto che anche tu stai utilizzando un albero, che mi dici sulla mia domanda dell'ordinamento dell'output?
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 ...
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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...
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?
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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?
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...
Off-Topic:
Sto cominciando a fondere e dico scemenze!![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Off-Topic:
Sto cominciando a fondere e dico scemenze!![]()
__________________
Teju.it - Una vita da raccontare
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!![]()
![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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.
qualcuno saprebbe aiutarmi sull'inserimento dell'albero binario?
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.
__________________
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
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
non è una porcheria, è giusto così
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...![]()
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?![]()
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?
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...::
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??
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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.![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by lorybu
A me esce così:
boh.... __________________
Teju.it - Una vita da raccontare
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.
... riprendo il discorso..
ha ingannato anche a me l'esempio del professore, cavolo. Ma siete sicuri che la lunghezza della stringa non conti?
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.
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.
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.
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.![]()
(non ti ruberò molto tempo)
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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.
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.
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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?
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?
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.
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?
Sei sicuro che va bene memorizzarlo in un array? Così devi dare un limite massimo. Secondo te è corretto?
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
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.
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?
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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"
l'avevi detto a me, no problema a domani!
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
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.
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.
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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........ :-)
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Ma dai, Teo, ti ho detto ieri quale funzione usare, proprio perché aveo provato anche io e funzionava male.
__________________
Teju.it - Una vita da raccontare
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?
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?
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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.
domandina x chi usa le liste per gli ostacoli: avete definito un puntatore alla testa e alla coda della lista oppure no?
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?
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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!
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?
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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°•–(¯`·._}
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!![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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!!
__________________
Teju.it - Una vita da raccontare
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"
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!).
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
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
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
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
Sì, è così. Solo p produce un output
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
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.
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
Originally posted by Dante
Anche chi ha passato la teoria con i compitini ha a disposizione ancora 2 appelli! Confermato dal prof!
__________________
"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
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"
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
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??

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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?![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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... ![]()
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... ![]()
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....![]()
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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
)
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Mi scrivi i tuoi 4 output?
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
Originally posted by LoneWolf
Sono i risultati uguali spiaccicati ai miei.
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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"
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"
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... ![]()
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.
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.
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by mitnik
A me le prime due p 0 risultano come quelle del testo del progetto.
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
Originally posted by dirkpitt
Ma come può, nella seconda p 0 l'elemento 011 essere sovrapposto ad un ostacolo????
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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... ![]()
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....
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by LoneWolf
Io di mezze idee ne ho avute tante, ma i risultati vengono sempre sbagliati (almeno di un paio di automi).
__________________
Teju.it - Una vita da raccontare
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... ![]()
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!!!
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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.
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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
)
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
Originally posted by dirkpitt
I risultati che mi escono facendo in questo modo sono questi: c'è un solo errore.... (evidenziato)
__________________
Teju.it - Una vita da raccontare
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
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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... 
![]()
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... ![]()
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).
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)....
__________________
Teju.it - Una vita da raccontare
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!
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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"
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!
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
Originally posted by dirkpitt
Perfetto!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!
__________________
Teju.it - Una vita da raccontare
Originally posted by dirkpitt
Perfetto!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!
__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"
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 
Originally posted by p2p
in pratica io memorizzo tutto l input dell' istruzione in un array
__________________
Teju.it - Una vita da raccontare
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!![]()
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?![]()
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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![]()
__________________
Teju.it - Una vita da raccontare


Mi sa proprio che ho finito il progettinooooo!!! ![]()
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!!!!!!! ![]()
Volevo chiedere un pareri:
la relazione come deve essere? Cosa deve contenere?
__________________
Teju.it - Una vita da raccontare
Originally posted by Teju
Io uso la getchar() per l'istruzione e la scanf per i dati non stringhe!![]()
Originally posted by Teju
![]()
Mi sa proprio che ho finito il progettinooooo!!!
L'input del prof funziona alla grande, altre prove varie vanno senza problemi...
__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... ![]()
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 ??
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 ??
__________________
Teju.it - Una vita da raccontare
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??
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??
__________________
Teju.it - Una vita da raccontare
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
)
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.