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

Se citeşte de la tastatură un număr natural n (0 < n < 100) apoi n*n valori
din multimea (1,0), care se memorează într-o matrice cu n linii şi n coloane.
Så se afişeze pe ecran numărul de ordine al liniei, care conţine cel mai mare
număr de cifre de 1. Dacă două sau mai multe linii conțin acelaşi număr de cifre
de 1, se va afişa numai numărul de ordine al primei dintre aceste linii.
Pentru n = 4 şi matricea o 100 se va afişa 2
1 0 1 1
0 1 0 1
0 1 1 1​

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

varianta cand nu se memoreaza matrice....

#include <iostream>

using namespace std;

int main()

{

   short n, num, s, smax=0, i, j, line=0;

   cin >> n;

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

   {

       s=0;

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

       {

           cin >> num;

           s+=num;

       }

       if (s>smax)

       {

           smax=s;

           line=i;

       }

   }

   cout << line;

   return 0;

}

Explicație:

varianta cand se memoreaza matrice...

#include <iostream>

using namespace std;

int main()

{

   short n, s, smax=0, i, j, line=0;

   cin >> n;

   short m[101][101];

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

   {

       s=0;

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

       {

           cin >> m[i][j];

           s+=m[i][j];

       }

       if (s>smax)

       {

           smax=s;

           line=i;

       }

   }

   cout << line;

   return 0;

}

Alte întrebări interesante