fbpx

Problema #620 – SortCol – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Ordonați descrescător elementele de pe fiecare coloană a matricei și apoi afișați matricea.

Date de intrare

Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.

Date de ieşire

Programul afișează pe ecran matricea modificată, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.

Restricţii şi precizări

  • 1 ≤ m,n ≤ 100
  • elementele matricei vor fi mai mici decât 10000

Exemplu

Date de intrare

4 6
4 20 15 23 18 9 
1 8 23 22 14 18 
17 18 13 18 12 15 
3 18 8 20 12 5 

Date de ieșire

17 20 23 23 18 18 
4 18 15 22 14 15 
3 18 13 20 12 9 
1 8 8 18 12 5
#include <bits/stdc++.h>
using namespace std;
int n , a[101][101] , m;
int sort(int col)
{
    for(int i = 0 ; i < n ; ++i)
        for(int j= i+1; j < n; ++j)
        {
            if(a[i][col] > a[j][col])
            {
                int aux = a[i][col];
                a[i][col] = a[j][col];
                a[j][col] = aux;
            }
        }
}
int main()
{
   cin >> n >> m;
   for(int i = 0 ; i < n ; ++i)
    for(int j = 0 ; j < m ; ++j) cin >>a[i][j];
   for(int j = 0 ; j < m ; ++j)
   {
       sort(j);
   }
  for(int i = n - 1 ; i >= 0 ; --i)
   {
    for(int j = 0 ; j < m ; ++j)
        cout <<a[i][j]<<" ";
    cout<<endl;
   }
    return 0;
}
Comentarii

S-ar putea sa iti placa