Untitled

 avatar
unknown
plain_text
a month ago
1.8 kB
2
Indexable
/*
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