fbpx

Problema #231 – Exista – Rezolvari PBInfo

de Mihai-Alexandru

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.

#include <bits/stdc++.h>
using namespace std;
ifstream fin("exista.in");
ofstream fout("exista.out");
int main()
{
    int k , n , m , a[12][12] , s = 0 , c = 0;
    fin >> k >> n >> m;
    for(int i = 0 ; i < n ; ++i)
        for(int j = 0 ; j < m ; ++j)
            fin >> a[i][j];
    for(int j = 0 ; j < m ; ++j)
    {
        int cnt=0;
        for (int i = 0 ; i < n ; ++i)
        {
            if(a[i][j]==k)
            cnt++;
        }
        if(cnt!=0) {c++ ; s += j + 1;}
    }
    if(c==0) fout << "NU EXISTA";
    else fout << s;
    
    fin.close();
    fout.close();
    
    return 0;    
}
Comentarii

S-ar putea sa iti placa