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 mult4
cifre; - liniile sunt numerotate de la
1
lam
, iar coloanele de la1
lan
.
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; }