Esercizio matrice linguaggio C
Buongiorno a tutti! 
Ho un problema con un esercizio. Ho una matrice di interi di dimensione DIMYxDIMX e devo trovare tutti i punti diversi da 0 che sono circondati a NORD, a SUD, a EST e a OVEST da almeno un numero maggiore.
Sapreste dirmi perchè è sbagliato risolverlo in questo modo e come dovrei correggerlo?
Grazie!

Ho un problema con un esercizio. Ho una matrice di interi di dimensione DIMYxDIMX e devo trovare tutti i punti diversi da 0 che sono circondati a NORD, a SUD, a EST e a OVEST da almeno un numero maggiore.
Sapreste dirmi perchè è sbagliato risolverlo in questo modo e come dovrei correggerlo?
for(i=1;i<DIMY-1;i++){ for(j=1;j<DIMX-1;j++){ if(m[i][j]!=0){ if(m[i][j]<m[i-1][j] && m[i][j]<m[i+1][j] && m[i][j]<m[i][j-1] && m[i][j]<m[i][j+1]) printf("%d %d\n",i,i); } } }
Grazie!
Risposte
Come vanno gestiti gli elementi sul "bordo"? Per gli elementi all'interno della matrice va abbastanza bene, ma certamente
dovrebbe essere
EDIT: Avevo letto male la condizione. Parla di almeno un elemento maggiore e quindi dovresti usare dei || e non &&.
printf("%d %d\n",i,i);
dovrebbe essere
printf("%d %d\n",i,j);
EDIT: Avevo letto male la condizione. Parla di almeno un elemento maggiore e quindi dovresti usare dei || e non &&.
Mi è partita una i al posto di una j :/
Ma comunque dice di determinare "le coordinate (x, y) di tutti i punti protetti da almeno un settore più alto a Nord, uno
a Sud, uno a Est, ed uno a Ovest", quindi non dovrebbe essere giusto &&?
Ma comunque dice di determinare "le coordinate (x, y) di tutti i punti protetti da almeno un settore più alto a Nord, uno
a Sud, uno a Est, ed uno a Ovest", quindi non dovrebbe essere giusto &&?