# PBinfo #769 – ordcol – 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. Să se ordoneze coloanele matricei astfel încât elementele de pe prima linie să fie ordonate crescător.

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 elementele matricei transformate, câte un linie a matricei pe o linie a ecranului, elementele de pe o linie 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 1000000

Exemplu:
Date de intrare

4 6
4 20 15 23 18 9 
1 8 23 22 14 18 
17 15 13 18 12 15 
3 18 8 20 12 5 
Date de ieșire

4 9 15 18 20 23 
1 18 23 14 8 22 
17 15 13 12 15 18 
3 5 8 12 18 20

## 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];
    bool sortat;
    do {
        sortat = false;
        for (int j = 1; j < m; j++)
            if (mat[1][j] > mat[1][j + 1]) {
                sortat = true;
                for (int i = 1; i <= n; i++) {
                    int temp = mat[i][j]; 
                    mat[i][j] = mat[i][j + 1];
                    mat[i][j + 1] = temp;
                }
           }
   } while (sortat == true);
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++)
            cout << mat[i][j] << " ";
        cout << endl;
   } return 0;
}
```

## Resurse

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