# PBinfo #231 – exista – Rezolvare C++

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

## Enunț

Cerinţa
Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane şi un număr k şi determină suma indicilor coloanelor care conţin valoarea k.

Date de intrare
Fişierul de intrare exista.in conţine pe prima linie numerele k, m şi n, iar pe următoarele m linii câte n numere naturale separate prin spaţii, reprezentând elementele tabloului.

Date de ieşire
Fişierul de ieşire exista.out va conţine pe prima linie suma cerută. Dacă nu există în matrice valoarea k, se va afişa mesajul NU EXISTA.

Restricţii şi precizări

2≤m,n≤10;
valoarea lui k şi elementele matricei sunt numere întregi cu cel mult 4 cifre;
liniile sunt numerotate de la 1 la m, iar coloanele de la 1 la n.

Exemplu:
exista.in

3 5 4
2 4 5 -8
1 3 7 9
4 -2 3 10
5 4 2 37
6 7 3 13
exista.out

5
Explicaţie
Coloana 2 şi coloana 3 conţin valoarea 3, iar suma lor este 5.

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("exista.in");
ofstream out("exista.out");
int main() {
    int mat[101][101], n, m, k, S = 0, adv = 0;
    in >> k >> n >> m;
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j)
            in >> mat[i][j];
    for (int j = 1; j <= m; ++j) {
        int temp = 0;
        for (int i = 1; i <= n; ++i) {
            if (mat[i][j] == k) temp++;
        } if (temp != 0) {
            S = S + j; adv++;
        }
    } if (adv == 0) out << "NU EXISTA";
    else out << S;
    return 0;
}
```

## Resurse

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