# PBinfo #620 – SortCol – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int mat[101][101], n, m;
int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j)
            cin >> mat[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(mat[i][j] < mat[k][j])
        			swap(mat[i][j], mat[k][j]);
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= m; ++j)
            cout << mat[i][j] << " ";
        cout << "\n";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/620)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/620/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-620/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
