Informatică, întrebare adresată de cici63, 8 ani în urmă

Scrieţi un program care citeşte un tablou bidimensional cu m linii şi n coloane (m<=30, n<=30) care memorează numere întregi de cel mult patru cifre fiecare. Să se afişeze numerele de ordine ale liniilor care conţin valoarea x citita cel puţin odată.


Exemplu: pentru m=3, n=4, x=5 şi tabloul:


2 3 5 5

1 2 4 6

5 0 7 8


se afişează. 1 şi 3.

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int L[51], m,n,i,j,x, num, gasit=0;

int main()

{

   cout << "nr. de linii m= "; cin >> m;

   cout << "nr. de coloane n= "; cin >> n;

   cout << "introdu numarul x,  x= "; cin >> x;

   cout << "introdu elementele tabloului bidimensional: " << endl;

   for (i=1; i<=m; ++i)

   {

       for (j=1; j<=n; ++j)

       {

           cin >> num;

           if (num==x) { L[i]=1; gasit=1;}

       }

   }

   cout << "Liniile ce contin pe x cel putin odata sunt: ";

   if (gasit==0) { cout << " nu exista..."; }

   else

   {

       for (i=1; i<=m; ++i)

           if (L[i]==1) cout << i << " ";

   }

}

Explicație:

nu am memorat tabloul bidimensional, am generat un tablou unidimensional in care punem 1 dacă în linia respectiva se conţine măcar odată numărul x cu afilşarea ulterioară a liniilor


cici63: multumesc!
Alte întrebări interesante