![]() |
Pages (8): « 1 2 3 [4] 5 6 7 8 » 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 di Febbraio "Itinerari" (http://www.dsy.it/forum/showthread.php?threadid=2641)
In questo caso violi le specifiche del progetto che NON DEVE porre limiti alla lunghezza delle strade.
Molto piu' semplicemente, ho deciso di leggere da stdin carattere per carattere, poi col carattere devo ancora decidere cosa fare.
PS: ho messo on line nell'area filez->esame di algoritmi->progetto itinerari un piccolo programmino che genera strade casuali generando un output compatibile con l'input richiesto dal progetto. Potrebbe essere utile quando fate debugging nella costruzione delle strade.
Il link e' questo:
http://www.dsy.it/forum/showthread....44432#post44432
__________________
Attenzio', concentrazio', ritmo e VITALITÀ
Originally posted by M3lkor
Scusa ma se l'algoritmo è scritto in pseudo codice un motivo c'è... ed è che SEI tu ad adattare il codice ad un algoritmo non il contrario.
Comunque dando un occhiata al progetto (molto di sfuggita ad essere sincero) non mi è sembrato un eccessivo casino.
__________________
Attenzio', concentrazio', ritmo e VITALITÀ
Originally posted by lord2y
vers. 1.2
#define DIM 1000
main(){
char stringa[DIM];
/*dimensiono una stringa di 1000*/
scanf("%s", stringa);
}
cmq la scanf mi inizializza a null il puntatore azzerando l'area di memoria...
__________________
You can find all that you need in your mind...If you take the time
Cosa ne dite di un albero costituito da nodi con 4 figli a testa (denominati magari N S W E), i cui puntatori possano essere NULL o puntare al nodo che seguono il nodo nelle varie direzioni.
Non so però come implementare il numero di strade passanti per quel nodo!! 
D.
Originally posted by Cancer
Cosa intendi per "scanf inizializza a null il puntatore azzerando l'area di memoria"? Guarda ti assicuro che scanf il puntatore non lo tocca proprio...
Comunque se vuoi ti do un consiglio su come leggere una stringa di lunghezza arbitraria (almeno,come farei io,poi ci sono 1000 modi!):
Allochi un area di memoria di N bytes, leggi un carattere alla volta da stdin, se arrivi a leggere N caratteri, reallochi ulteriori N bytes (quindi 2N in tutto) e cosi via...
Ciao!

__________________
Linux User#271051
Only God can judge me, is that right?
Only God can judge me now
Only God baby, nobody else. All you other motherfuckers get out my business (2Pac)
Originally posted by AlphaGamma
Non sono del tutto d'accordo.
Il codice in C in un corso di algoritmi e' direttamente implementabile, modificabile e quindi piu' facilmente comprensibile (perche' e' empiricamente verificabile).
Inoltre il tuo lavoro non deve consistere nel TRADURRE ma nell'ADATTARE il codice esistente.
In altre parole non dobbiamo reinventare la ruota. Tantopiu' che 16 giorni sono pochi.
L'implementazione del cammino piu' breve e la cancellazione di tutti i cammini sono algoritmi complessi che richiedono attenzione sia nella scelta della struttura dati che nella implementazione.
Ok, non sono molto esperto di C e di programmazione, so qualcosina della teoria, pero' a me sembra un progetto assolutamente non banale per il poco tempo a disposizione.
__________________
Linux User#271051
Only God can judge me, is that right?
Only God can judge me now
Only God baby, nobody else. All you other motherfuckers get out my business (2Pac)
Originally posted by lord2y
infatti ho detto che questa nn era la soluzione giusta..
Per evitare di incorrere in seg fault, problemi di lunghezza di stringa uso un getchar per prendere il singolo carattere ponendo la condizione ... != '\n' .
La scanf la uso solo per prendere in input le coordinate del punto.
Ps s vuoi saperne di più sulla scanf --> da prompt man scanf
__________________
You can find all that you need in your mind...If you take the time
Originally posted by M3lkor
Forse una tabella HASH sarebbe interessante da utilizzare...
Melkor
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Originally posted by Wolf
Problema: come cavolo faccio a prendere in ingresso una maledetta stringa di dimensioni qualsiasi??
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Originally posted by Cancer
...
Comunque se sappiamo tutti come farlo non c'è più nessun problema!.....

__________________
La vita è una jungla!
Originally posted by AlphaGamma
Non sono del tutto d'accordo.
Il codice in C in un corso di algoritmi e' direttamente implementabile, modificabile e quindi piu' facilmente comprensibile (perche' e' empiricamente verificabile).
Inoltre il tuo lavoro non deve consistere nel TRADURRE ma nell'ADATTARE il codice esistente.
In altre parole non dobbiamo reinventare la ruota. Tantopiu' che 16 giorni sono pochi.
L'implementazione del cammino piu' breve e la cancellazione di tutti i cammini sono algoritmi complessi che richiedono attenzione sia nella scelta della struttura dati che nella implementazione.
Ok, non sono molto esperto di C e di programmazione, so qualcosina della teoria, pero' a me sembra un progetto assolutamente non banale per il poco tempo a disposizione.
__________________
---Any sufficiently advanced technology is indistinguishable from magic.---
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda http://www.fsf.org/philosophy/no-word-attachments.html
Trasudi saggezza,concordo su te in tutto e ti stringo virtualmente la mano ![]()
__________________
Cristian,il Nous che invoglia ^_^
"La capa è troppo in la,e la sbarba è troppo giovane..mi sa che qua si va in bianco"
Ryo Saeba (City Hunter)
Alphagamma, mi spieghi un po' meglio la tua idea per utilizzare gli alberi in questo prog.?
Sul pdf dell'ultima lezione di Fiorentini a pag.5 c'è un esempio in cui usa un albero di ricerca per rappresentare i punti del piano.
Se ogni nodo rappresenta i punti, dove memorizzi l'informazione relativa al reale percorso esistente fra questi punti?
Se tale info è rappresentata dai legami di parentela fra i nodi, l'albero rappresentato non degenera quasi in una lista nel caso del nostro progetto?
A parte che una volta che le strade iniziano ad incrociarsi non ci si trova più davanti ad un albero, ma ad un grafo, perchè si creano dei cicli.

Io sto usando un grafo non orientato rapp. con liste d'adiacenza
__________________
Non è detto che non ci sia nulla da capire soltanto perchè non si capisce nulla.
(by me)
Originally posted by M3lkor
Non sono d'accordo sugli algoritmi. Un algoritmo deve essere utilizzabile con goni tipo di linguaggio e quindi non deve essere scritto in un linguaggio specifico proprio perchè noi dovremmo, in teoria, estrapolare dall'algoritmo il codice nel linguaggio che ci interessa. D'altro canto un algoritmo di per sè è un insieme di "istruzioni" che permettono il compimento di un compito in un tempo "x". Che poi tu lo scriva in Java, in C, in C++, in Perl, in CGI, in Algol o in Fortran la cosa cambia relativamente poco...
Melkor
__________________
Attenzio', concentrazio', ritmo e VITALITÀ
Originally posted by Lestat de lioncourt
Alphagamma, mi spieghi un po' meglio la tua idea per utilizzare gli alberi in questo prog.?
Sul pdf dell'ultima lezione di Fiorentini a pag.5 c'è un esempio in cui usa un albero di ricerca per rappresentare i punti del piano.
__________________
Attenzio', concentrazio', ritmo e VITALITÀ
| All times are GMT. The time now is 05:58. | Pages (8): « 1 2 3 [4] 5 6 7 8 » Show all 116 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.