Untitled
/* Scrivere un sottoprogramma che riceve come parametro un array bidimensionale di interi positivi o nulli dichiarato dal chiamante con DIMC colonne e qualsiasi altro parametro ritenuto strettamente necessario. Il sottoprogramma visualizza le coordinate di tutte le posizioni per cui il valore è uguale alla somma di tutti i vicini. Esempio: Se la matrice in ingresso è 1 *2 1 4 5 0 0 0 0 0 2 *9 0 3 1 1 5 1 1 *8 2 2 2 2 1 il sottoprogramma visualizza: 0 1 2 1 3 4 */ #include <stdio.h> #define DIMC 5 void trovaElementoSommaVicini(int matrice[][DIMC], int dimr) { for(int i=0; i<dimr; i++) { for(int j=0; j<DIMC; j++) { int sommaVicini=0; if(i > 0) { sommaVicini+=matrice[i-1][j]; } if(i < dimr-1) { sommaVicini+=matrice[i+1][j]; } if(j>0) { sommaVicini+=matrice[i][j-1]; } if(j<DIMC-1) { sommaVicini+=matrice[i][j+1]; } if(i>0 && j>0) { sommaVicini+=matrice[i-1][j-1]; } if(i>0 && j<DIMC-1) { sommaVicini+=matrice[i-1][j+1]; } if(i<dimr-1 && j>0) { sommaVicini+=matrice[i+1][j-1]; } if(i<dimr-1 && j<DIMC-1) { sommaVicini+=matrice[i+1][j+1]; } if(matrice[i][j] == sommaVicini) { printf("%d %d\n", i, j); } } } } int main() { // Write C code here printf("Try programiz.pro"); return 0; }
Leave a Comment