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

vanabi 5. Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul [2,102]: m, n şi elementele unui tablou bidimensional cu m linii şi n coloane. Programul afişează pe ecran, pentru fiecare linie a sa, cea mai mare dintre valorile strict mai mici decât 21 memorate în aceasta, sau mesajul nu exista, dacă nu există nicio astfel de valoare pe linia respectivă. Numerele, respectiv mesajele, sunt afişate pe linii separate ale ecranului, în ordinea liniilor corespunzătoare din tablou. Exemplu: pentru m-3, n=5 şi tabloul alăturat se afişează pe ecran 16 nu exista 9
6 16 21 4 90
92 26 36 95 80
5 2 9 7 3​

Răspunsuri la întrebare

Răspuns de Apollyon
1

Răspuns:

#include <iostream>

int main() {

 int numarLinii, numarColoane, vectorNumere[50][50] = {};

 std::cout << "Cate linii si cate coloane (de ex 3 5) ? >> ";

 /* citim numărul de linii și numărul de coloane de la tastatură */

 std::cin >> numarLinii >> numarColoane;

 /* citim numerele în tabloul bidimensional */

 for (int i = 0; i < numarLinii; i++) {

   for (int j = 0; j < numarColoane; j++) {

     std::cout << "vectorNumere[" << i << "][" << j << "] = ";

     std::cin >> vectorNumere[i][j];

   }

 }

 /* parcurgem tabloul */

 for (int i = 0; i < numarLinii; i++) {

   int numarulGasit = 0;

  /* parcurgem numerele de pe fiecare linie */

   for (int j = 0; j < numarColoane; j++) {

     /* și dacă numărul curent e mai mare decât val. din numarulGasit DAR mai mic decât 21 */

     int numarCurent = vectorNumere[i][j];

     if (numarCurent > numarulGasit && numarCurent < 21) {

       /* actualizăm minimul */

       numarulGasit = numarCurent;

     }

   }

   /* dacă pe linia curentă n-a fost găsit niciun număr ce să îndeplinească condițiile de mai sus */

   if (numarulGasit == 0) {

     /* afișăm că nu există */

     std::cout << "Nu exista!\n";

   } else {

    /* altfel afișăm maximul găsit */

     std::cout << numarulGasit << "\n";

   }

 }

 return 0;

}

Alte întrebări interesante