Confronto elementi

Messaggioda pickwick » 25/05/2015, 14:55

...
Ultima modifica di pickwick il 25/05/2015, 17:31, modificato 1 volta in totale.
pickwick
Starting Member
Starting Member
 
Messaggio: 1 di 6
Iscritto il: 25/05/2015, 14:23

Re: [C, Algoritmi] Confronto elementi adiacenti di una matrice

Messaggioda apatriarca » 25/05/2015, 15:42

In effetti il problema non è molto chiaro. Potresti provare a postare il testo originale dell'esercizio?
apatriarca
Moderatore
Moderatore
 
Messaggio: 3819 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Confronto elementi

Messaggioda pickwick » 25/05/2015, 15:49

Ok
Ultima modifica di pickwick il 25/05/2015, 17:31, modificato 2 volte in totale.
pickwick
Starting Member
Starting Member
 
Messaggio: 2 di 6
Iscritto il: 25/05/2015, 14:23

Re: [C, Algoritmi] Confronto elementi adiacenti di una matrice

Messaggioda apatriarca » 25/05/2015, 15:57

Ho letto tutto forse un po' di fretta, ma non mi sembra che l'algoritmo da te scritto nel primo post sia corretto per risolvere il tuo problema. Ci sono due metodi per implementare l'algoritmo:
1. Iterare più volte su tutta la matrice e se c'è una cella allagata adiacente a quella corrente, aggiungere la casella adiacente a quelle allagate. Dopo un numero finito di iterazioni si arriva alla soluzione.
2. Partendo dalla sorgente inserire tutte le caselle adiacenti che verranno allagate (ma non ancora settate come allagate) ad una lista. A questo punto estrai una cella per volta dalla lista e ripeti il procedimento guardando le sue celle adiacenti.
Il primo è più facile da implementare mentre il secondo è più efficiente.
apatriarca
Moderatore
Moderatore
 
Messaggio: 3820 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Algoritmi] Confronto elementi adiacenti di una matrice

Messaggioda pickwick » 25/05/2015, 16:18

...
Ultima modifica di pickwick il 25/05/2015, 17:30, modificato 1 volta in totale.
pickwick
Starting Member
Starting Member
 
Messaggio: 3 di 6
Iscritto il: 25/05/2015, 14:23

Re: [C, Algoritmi] Confronto elementi adiacenti di una matrice

Messaggioda apatriarca » 25/05/2015, 16:35

Ma non dovrebbe essere il contrario? Se matriceOld[i,j] < matriceOld[x,y] allora la cella verrà ricoperta dall'acqua in quanto di altitudine inferiore alla sorgente.. Suppongo tu abbia sbagliato a scrivere perché nel primo post era in effetti corretto.

Procedendo in questo modo stai ripetendo gli stessi calcoli tantissime volte.. Se sai già che una cella è ricoperta dall'acqua non hai bisogno di verificare nuovamente la condizione. Questa "ottimizzazione" mi sembra in effetti fondamentale per essere certi della effettiva terminazione del codice. Ho infatti l'impressione che in caso contrario si possa avere una specie di "ciclo infinito" (ho usato le virgolette in quanto stai in effetti usando una soluzione ricorsiva).
apatriarca
Moderatore
Moderatore
 
Messaggio: 3821 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Confronto elementi

Messaggioda apatriarca » 25/05/2015, 22:00

Posso sapere perché hai deciso di cancellare tutti i tuoi messaggi?
apatriarca
Moderatore
Moderatore
 
Messaggio: 3827 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Confronto elementi

Messaggioda minomic » 27/05/2015, 18:38

apatriarca ha scritto:Posso sapere perché hai deciso di cancellare tutti i tuoi messaggi?

In effetti la cosa è strana, e anche poco piacevole: ero entrato nel thread per vedere di cosa si stava parlando e ho trovato tre bei puntini...
Avatar utente
minomic
Cannot live without
Cannot live without
 
Messaggio: 3844 di 7860
Iscritto il: 22/01/2011, 18:32


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite