376
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 mult4cifre; - liniile sunt numerotate de la
1lam, iar coloanele de la1lan.
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