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; }