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

Pentru tabloul bidimensional dat din n linii şi m coloane Să se ordoneze liniile tabloului în ordine ascendentă a numărului de elemente pozitive în fiecare linie.

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

const int N = 501;

int n, m, a[N][N], f[N];

int main() {

   //citire

   cin >> n >> m;

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

       int cnt = 0;

       for (int j = 1; j <= m; j++) {

           cin >> a[i][j];

           if (a[i][j] > 0)

               cnt++;

       }

       f[i] = cnt;

   }

  //prelucrare / sortare prin selectie

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

       int maxi = f[i], ind = i;

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

           if (f[j] > maxi) {

               ind = j;

               maxi = f[j];

           }

       if (ind != i) {

           for(int k = 1; k <= m; k++) {

               swap(a[i][k], a[ind][k]);

           }

           f[ind] = f[i];

       }

   }

   //afisare

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

       for (int j = 1; j <= m; j++) {

           cout << a[i][j] << " ";

       }

       cout<<"\n";

   }

   return 0;

}

  • Ti-am lasat si un exemplu mai jos
Anexe:
Alte întrebări interesante