 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[PROGETTO] Mappe Clicca QUI per vedere il messaggio nel forum |
vlaste |
Idee? Suggerimenti? Programmi già fatti da mandarmi via mail? :D |
GaL3n |
Originally posted by vlaste
Idee? Suggerimenti? Programmi già fatti da mandarmi via mail? :D
auuaua..;) Senti se qualche buon'anima ti invia qualcosa via mail vedi di farmi bel forward hehe!
Sta sera analizzo la traccia.. ! Che la forza sia con me.. e un po' anche con voi! |
kingoff |
mmmm io gli ho dato un'occhiata stamattina e oggi pomeriggio mi sono messo a scrivere due righe..ho scritto la struttura e il main...ora devo scrivere il testo delle funzioni (ovvero il programma ;-) )
non sembra difficilisismo...ma ancora sono all'inizio...i problemi sono verso fine progetto, quandp compili e hai 22 errori e 130 warning e non sai più dove mettere le mani...
Comunque se ci si vuole trovare per mettere giù due idee di come stendere la struttura...magari diamoci appuntamento in uni....poi ogniuno si scrive il programma a casa...così il prof nn può castigare ( e nemmeno rilevare) eventuali collaborazioni.....
Fatemi sapere |
kingoff |
mi sorge un dubbio..la funzione crea che "Crea un nuovo piano, eliminando tutte le mappe e ponendo il valore di tutti i punti uguale a n." in realtà non crea un NUOVO piano ma semplicemente "PULISCE" quello vecchio da tutte le mappe.
Allora, se elimino tutte le mappe(le mappe sono fatte da punti),quali punti devo porre a n????(eliminate le mappe non ho più punti no?) |
Skilotto83 |
come gia' detto 3000 volte(ma se è la prima volta che lo fai sei perdonato..) la funzione crea serve solo ad allocare i puntatori della struttura se è la prima esecuzione...
E libera semplicemente i puntatori quando si richiama e vi sono gia' punti...
Il piano ipotetico è tutta la memoria del PC... |
GaL3n |
Originally posted by Skilotto83
come gia' detto 3000 volte(ma se è la prima volta che lo fai sei perdonato..) la funzione crea serve solo ad allocare i puntatori della struttura se è la prima esecuzione...
E libera semplicemente i puntatori quando si richiama e vi sono gia' punti...
Il piano ipotetico è tutta la memoria del PC...
Scusa Skillotto ma dov'e' che e' stato detto 3000 volte ? Se negli altri 3d relativi ad altri progetti vi è la stessa informazione ritengo comunque utile la domanda del buon Kingoff.. e altrettanto utile la tua risposta :)
Ciao e che la forza sia con Voi giuovani uomini degli algoritmi! |
Polsy |
Originally posted by kingoff
mi sorge un dubbio..la funzione crea che "Crea un nuovo piano, eliminando tutte le mappe e ponendo il valore di tutti i punti uguale a n." in realtà non crea un NUOVO piano ma semplicemente "PULISCE" quello vecchio da tutte le mappe.
Allora, se elimino tutte le mappe(le mappe sono fatte da punti),quali punti devo porre a n????(eliminate le mappe non ho più punti no?)
io l'ho intesa così, n è il valore che assegnerai a una variabile globale che determina il valore di default di ciascun punto
considerando che il valore dei punti serve solo ad assegnare un valore a una certa mappa, al momento della creazione della mappa trovi il punto in cui termina, se questo ha un valore particolare dato dalla funzione valore() assegni alla mappa quel particolare valore, altrimenti assegni alla mappa il valore della variabile globale |
kingoff |
in effetti è così che l'ho inteso anche io...ma siccome non vorrei far stupidaggini più grosse di me...tra l'altro sto facendo il progettino alla "basta che non va in loop o overflow", perchè ho troppo poco tempo(lavoro) e, diciamolo, voglia.
Se qualcuno ha folgorazioni tipo idee geniali su quale struttura dati utilizzare invece di un'altra fatelo sapere...sono profondamente convinto che ai più possa essere di aiuto(beh a me personalmente no, ormai ho iniziato e sono tropp pigro per rifare tutto :P ) |
uvaci |
vorrei sottoporre un problema con il progetto mappe:
(winxp)
1) apro la sezione DOS, lancio il batch gocs, lavoro compilo eseguo: tutto ok
2)se chiudo la sezione DOS, la riapro lancio il batch gocs compilo ed eseguo: le stringhe allocate dinamicamente si mischiano e fanno casino
3) se rilancio un'altra volta il batch gocs tsenza chiudere la sessione DOS utto funziona perfettamente e da li in poi tutto va
4) se lancio l'exe senza compilare funziona tutto perfettamente
sono io che sto facendo un gran casino o è un problema noto ????? |
ornati |
Qualcuno sa se è ammesso suddividere il programma in più file? |
kingoff |
si se leggi il progetto dice di si ,ma devi mandargli uno zip invece che il semplice file .c |
ornati |
Originally posted by kingoff
si se leggi il progetto dice di si ,ma devi mandargli uno zip invece che il semplice file .c
Opss, mi era sfuggito... allora gli mando un TAR :) |
vlaste |
Originally posted by Polsy
io l'ho intesa così, n è il valore che assegnerai a una variabile globale che determina il valore di default di ciascun punto
considerando che il valore dei punti serve solo ad assegnare un valore a una certa mappa, al momento della creazione della mappa trovi il punto in cui termina, se questo ha un valore particolare dato dalla funzione valore() assegni alla mappa quel particolare valore, altrimenti assegni alla mappa il valore della variabile globale
Ok, quindi mi devo tenere in una qualche stuttura (una bella lista, non efficiente ma facile da implementare) anche i valori "non di default" dei punti e, ogni volta che si inserisce una mappa, andare a ricercare se il punto di terminazione della stessa coincide con un punto con valore non di default.................................... bene. |
Polsy |
Originally posted by vlaste
Ok, quindi mi devo tenere in una qualche stuttura (una bella lista, non efficiente ma facile da implementare) anche i valori "non di default" dei punti e, ogni volta che si inserisce una mappa, andare a ricercare se il punto di terminazione della stessa coincide con un punto con valore non di default.................................... bene.
dai fai lo sborone con un red black :D
occhio che quando cambi valore ad un punto oltre che inserirlo nella struttura devi anche andare a cambiare il valore di tutte le mappe già esistenti che finiscono in quel punto... |
queen |
cià nessuno ha intenzione di fare un incontro per scambiarc qualche idea???io ho qualche problema a ciclare(x stampare a video) la lista mappa...che naturalmente a sua volta richiama le cordin e tutta la specifica di ogni mappa....grrr
Fatemi sapere.
joseph |
manzso |
qualcuno ha suggerimenti sulle strutture dati da usare per memorizzare le mappe??? |
kingoff |
una lista?alla fine, va bene fare gli eleganti, ma il tempo di esecuzione risparmiato con un rb tree non e nemmeno la metà di quello che perdo(+ la salute) per ragionarci e programmarlo.
E non è certo quello che ti porta da 18 a 30.... |
Ariok |
ciao a tutti! qualcuno ha pensato ad un modo decente/semplice per fare il controllo dei prefissi dei percorsi delle mappe??(il metodo direzione) come avete implementato questo controllo?!??! mi vengono in mente strutture dati troppo complesse (che non so implementare:P) per risolvere il problema. |
manzso |
Originally posted by kingoff
una lista?alla fine, va bene fare gli eleganti, ma il tempo di esecuzione risparmiato con un rb tree non e nemmeno la metà di quello che perdo(+ la salute) per ragionarci e programmarlo.
E non è certo quello che ti porta da 18 a 30....
io avevo pensato ad un albero binario, però i miei dubbi erano su come farlo a ordinare, su quali criteri per poi avere più facilità nella ricerca..ma le ricerche possono essere di due tipi, o per il nome o per la direzione..
però se mi dici che non differenza per il voto mi sa che userò veramente una lista... |
Ariok |
va bhe .. io mi sono fermato.... non so come ragionare per rimuovere i cicli.... lol....qualche suggerimento? link utile? |
raffi83 |
Come vi sta procedendo ?
Qualcuno per caso ha degli altri input con cui testare il progetto ? |
queen |
io l'ho scritto quasi tutto ma nn riesco a ciclare bene le strutture create o generate....sarei grato davvero se qualcuno mi aiutasse....magari incontrandoci in università...ciao |
Ariok |
in che senso "ciclare le strutture"? |
Ariok |
Ciao a tutti posto i miei tempi il terzo e' esageratissimo:P...dite anche i vostri cosi' si capisce un po' come dovrebbe essere la situazione.
test 1: veloce...
test 2: 4,5 secondi
test 3:13 secondi (piu' stampa)
test 4:4 secondi
Athlon xp 2200
1 GB ram DDR
---Edit i miei tempi probabilmente saranno piu' alti del normale.Ho dimenticato totalmente di inserire un controllo nel caso in cui si inseriscano mappe con lo stesso nome.. :( |
ornati |
paolo@tux ~/project/Mappe $ for i in official-test/in*; do echo $i; time ./mappe < $i > /dev/null; echo ---; done
official-test/in1.txt
real 0m0.002s
user 0m0.000s
sys 0m0.000s
---
official-test/in2.txt
real 0m0.139s
user 0m0.136s
sys 0m0.004s
---
official-test/in3.txt
real 0m0.295s
user 0m0.284s
sys 0m0.012s
---
official-test/in4.txt
real 0m0.069s
user 0m0.064s
sys 0m0.004s
-- EDIT:
CPU: AMD64 3200+
RAM: DDR400 |
Ariok |
un mostro..
Curiosita' che strutture hai usato? |
ornati |
Originally posted by Ariok
un mostro..
Curiosita' che strutture hai usato?
Hashtable per la corrispondenza "nome mappa" -->mappa
MapTree per trovare tutte le mappe di una data direzione in tempo O(N + M).
N = lunghezza della stringa che specifica la direzione
M = numero di mappe che hanno quella direzione
In sostanza è un albero in cui ogni nodo rappresenta una specifica (la radice è la specifica vuota). Ogni nodo ha una lista contenente le mappe che hanno la specifica corrispondente e 4 possibili figli (NSEW).
Si percorre l'albero seguendo la specifica data.
Inoltre ogni nodo è dotato di una stringa che non è altro che la parte terminale della specifica corrispondete ad esso. Questo permette all'albero di rimanere compatto (se ad esempio inserisci una mappa con specifica di lunghezza 100.000 in un albero che ha solo la radice verrà aggiunto un solo nodo anzichè 100.000).
Ovviamente questa caratteristica complica l'inserimento: può infatti capitare di dover "splittare" un nodo in due e cose del genere... :-) |
Ariok |
anche io ho strutturato così l'albero per i percorsi... pero' ho fatto la stupidata di usare una lista a parte per salvare le mappe... e poi far puntare dai nodo dell'albero alle mappe.. mi sono accorto che i tempi non erano decisamente buoni pero' ormai ero lanciato .. non avevo piu' molto tempo per finire ... dopo gli orali metti il codice online? ciao grazie |
ornati |
Originally posted by Ariok
anche io ho strutturato così l'albero per i percorsi... pero' ho fatto la stupidata di usare una lista a parte per salvare le mappe... e poi far puntare dai nodo dell'albero alle mappe.. mi sono accorto che i tempi non erano decisamente buoni pero' ormai ero lanciato .. non avevo piu' molto tempo per finire ... dopo gli orali metti il codice online? ciao grazie
Anche io ho fatto un po' male i conti con il tempo, pensa che l'ho consegnato domenica sera verso le 22:20 !
Dimenticavo: la hash table la uso anche per memorizzare i valori dei punti del piano e persino nella funzione di riduzione.
I sorgenti non sono proprio il massimo... inoltre la scelta del doppio hashing (ripetto alla risoluzione delle collisioni mediante liste) non è ottimale perchè in queste tabelle si rimuovono anche gli elementi.
Comunque credo che li metterò... |
ornati |
Ho corretto uno stupido bug che rallentava... ecco i nuovi tempi:
paolo@tux ~/project/Mappe $ for i in official-test/in*; do echo $i; time ./mappe < $i > /dev/null; echo ---; done
official-test/in1.txt
real 0m0.002s
user 0m0.000s
sys 0m0.000s
---
official-test/in2.txt
real 0m0.020s
user 0m0.020s
sys 0m0.000s
---
official-test/in3.txt
real 0m0.251s
user 0m0.248s
sys 0m0.004s
---
official-test/in4.txt
real 0m0.029s
user 0m0.024s
sys 0m0.004s
--- |
Ariok |
ah ecco mi sembrava troppo lento prima .. hihihi :P caxxo beato te! |
maynard80 |
Originally posted by ornati
Ho corretto uno stupido bug che rallentava... ecco i nuovi tempi:
paolo@tux ~/project/Mappe $ for i in official-test/in*; do echo $i; time ./mappe < $i > /dev/null; echo ---; done
official-test/in1.txt
real 0m0.002s
user 0m0.000s
sys 0m0.000s
---
official-test/in2.txt
real 0m0.020s
user 0m0.020s
sys 0m0.000s
---
official-test/in3.txt
real 0m0.251s
user 0m0.248s
sys 0m0.004s
---
official-test/in4.txt
real 0m0.029s
user 0m0.024s
sys 0m0.004s
---
Ciao potresti mettere il codice on line? |
ornati |
Originally posted by maynard80
Ciao potresti mettere il codice on line?
messo nella sezione "Filez"
:) |
Simeon |
Originally posted by Polsy
io l'ho intesa così, n è il valore che assegnerai a una variabile globale che determina il valore di default di ciascun punto
considerando che il valore dei punti serve solo ad assegnare un valore a una certa mappa, al momento della creazione della mappa trovi il punto in cui termina, se questo ha un valore particolare dato dalla funzione valore() assegni alla mappa quel particolare valore, altrimenti assegni alla mappa il valore della variabile globale
Questa mi sa che risponde alla domanda che stavo per fare, bella! Peccato che ancora non sappia che strutture usare... Pah. |
Ariok |
GRande me lo guardo anche io... com'e' andato l'orale alla fine??? |
ornati |
Originally posted by Ariok
GRande me lo guardo anche io... com'e' andato l'orale alla fine???
28
In genere è andato bene solo che sono caduto alla domanda sull'algoritmo di programmazione dinamica per la parentesizzazione ottima nella moltiplicazione di matrici... nella fase di studio l'ho proprio saltato (e non so neanche perchè)...
Cmq il voto ha un'importanza relativa... IMO. |
jonnypee |
Help me!!!
Per favore qualcuno mi può aiutareee?
Devo fare Mappe 2, ho il codice mappe 1 e non so' come modificarlo per affrontare il II progetto.
Allora? |
Ariok |
Originally posted by ornati
28
Cmq il voto ha un'importanza relativa... IMO.
-.- |
|
|
|
|