fbpx

Problema #2877 – SortMatrixLinCol – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă o matrice pătratică de dimensiune n. Să se ordoneze crescător fiecare linie a matricei, apoi să se ordoneze crescător fiecare coloană a acesteia.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi elementele matricei. Fiecare linie se află pe câte un rând, elementele fiecărei linii fiind separate prin câte un spațiu.

Date de ieșire

Programul va afișa pe ecran matricea modificată, câte o linie a matricei pe o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • elementele matricei vor fi mai mici decât 1.000

Exemplul 1:

Intrare

3
4 1 3
9 6 8
5 2 7

Ieșire

1 3 4 
2 5 7 
6 8 9 

Exemplul 2:

Intrare

4
12 7 1 8
20 9 11 2
15 4 5 13
3 18 10 6

Ieșire

1 5 8 12 
2 6 10 15 
3 7 11 18 
4 9 13 20 
#include <bits/stdc++.h>

using namespace std;

int n , a[101][101] , cnt , ok , p[101];

int main()
{
    cin >> n;
    for(int i = 1 ; i <= n ; i++)
    {
        for(int j = 1 ; j <= n ; j++)
            cin >> p[j];
        sort(p + 1 , p + n + 1);
        for(int j = 1 ; j <= n ; j++)
            a[i][j] = p[j];
    }

    for(int j = 1 ; j <= n ; j++)
    {
        for(int i = 1 ; i <= n ; i++)
            p[i] = a[i][j];
        sort(p + 1 , p + n + 1);
        for(int i = 1 ; i <= n ; i++)
            a[i][j] = p[i];
    }

    for(int i = 1 ; i <= n ; i++)
    {
        for(int j = 1 ; j <= n ; j++)
            cout << a[i][j] << " ";
            cout << '\n';
    }
}
Comentarii

S-ar putea sa iti placa