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
Rezolvare
#include <iostream> using namespace std; int a[101][101], n, m; int main(){ cin >> n >> m; for (int i = 1 ;i <= n ; ++i) for(int j = 1 ; j <= m ; ++j) cin >> a[i][j]; for(int j = 1 ; j <= m ; ++j) for(int i = 1 ; i < n ; ++i) for(int k = i + 1 ; k <= n ; ++k) if(a[i][j] < a[k][j]) { int aux = a[i][j]; a[i][j] = a[k][j]; a[k][j] = aux; } for (int i = 1 ;i <= n ; ++i){ for(int j = 1 ; j <= m ; ++j) cout << a[i][j] << " "; cout << endl; } return 0; }