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