# PBinfo #779 – vecinipari – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine câte elemente din matrice au toți vecinii numere pare.

Date de intrare
Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.

Date de ieşire
Programul afișează pe ecran numărul C, reprezentând valoarea determinată.

Restricţii şi precizări

1 ≤ m,n ≤ 100
elementele matricei vor fi mai mici decât 1.000.000
un element al matricei are cel mult patru vecini: pe linia anterioară și aceeași coloană, pe linia următoare și aceeași coloană, pe aceeași linie și coloana anterioară, pe aceeași linie și coloana următoare.

Exemplu:
Date de intrare

4 7
15 27 40 41 32 42 12 
48 35 40 54 17 46 32 
37 52 40 18 11 46 23 
49 27 40 29 25 44 12 
Date de ieșire

5
Explicație
Valorile care au toți vecinii pari sunt (în ordine de sus în jos și de la stânga la dreapta): 41 42 12 40 23

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int n, m, mat[102][102];
int diagx[] = {0, 0, -1, 1}, diagy[] = {1, -1, 0, 0};
int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j)
            cin >> mat[i][j];
    int contor = 0;
    for (int i = 1; i <= n; i++)
        mat[i][0] = mat[i][m + 1] = 0;
    for (int j = 1; j <= m; j++)
        mat[0][j] = mat[n + 1][j] = 0;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            bool adv = true;
            for (int k = 0 ; k < 4 ; k ++)
                if (mat[i + diagx[k]][j + diagy[k]] % 2 != 0)
                    adv = false;
            if (adv) contor++;
        } cout << contor;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/779)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/779/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-779/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
