369
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