Rezolvare completă PbInfo #231 Exista

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.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Exista:

    #include <iostream>
#include <fstream>
using namespace std;

ifstream fin("exista.in");
ofstream fout("exista.out");

int a[105][105],n,m, k;

int main(){
    fin >> k >> m >> n;
    for(int i = 1 ; i <= m ; ++ i)
        for(int j = 1 ; j <= n ; ++ j)
            fin >> a[i][j];
    int s = 0;
    bool gasit = false;
    for(int j = 1 ; j <= n ; ++j){
        int ok = 0;
        for(int i = 1 ; i <= m ; i++)
            if(a[i][j] == k)
                ok = 1, gasit = true;
        if(ok == 1)
            s += j;
    }
    if(gasit)
        fout << s;
    else
        fout << "NU EXISTA";
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #231 Exista

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #231 Exista de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!