fbpx

Problema #193 – InterschimbareLinii – Rezolvari PBInfo

de Mihai-Alexandru

Se dă o matrice cu n linii și m coloane și elemente numere naturale diferite.

Cerinţa

Să se afișeze matricea obținută prin interschimbarea în matricea dată a liniei care conține valoarea maximă cu linia care conține valoarea minimă

Date de intrare

Fişierul de intrare interschimbarelinii.in conţine pe prima linie numerele n și m, iar pe următoarele n linii câte m numere naturale diferite.

Date de ieşire

Fişierul de ieşire interschimbarelinii.out va conţine matricea transformată, câte o linia matricei pe o linie a fișierului, elementele de pe fiecare linie fiind separate printr-un spațiu..

Restricţii şi precizări

  • 1 ≤ n,m ≤ 25
  • numerele matricei vor fi mai mici decât 10000

Exemplu

interschimbarelinii.in

4 6
8 33 35 28 20 10
23 17 24 6 22 31
15 25 12 43 27 13
21 3 19 29 5 30

interschimbarelinii.out

8 33 35 28 20 10 
23 17 24 6 22 31 
21 3 19 29 5 30 
15 25 12 43 27 13 
#include <bits/stdc++.h>
using namespace std;
ifstream fin("interschimbarelinii.in");
ofstream fout("interschimbarelinii.out");
int main()
{
    int n , m , a[25][25] , mini = 10001 , maxi = 0 , lmax = 0 , lmin = 0;
    fin >> n >> m;
    for(int i = 0 ; i < n ; ++i)
        for(int j = 0 ; j < m ; ++j)
           {
               fin >> a[i][j];
               if(a[i][j] > maxi)
                {
                    maxi = a[i][j];
                    lmax=i;
                }
                if(a[i][j] < mini)
                {
                    mini=a[i][j];
                    lmin=i;
                }
           }
    for(int i = 0 ; i < n ; ++i)
    {
        for(int j = 0 ; j < m ; ++j)
        {
            if(i==lmax)
            fout << a[lmin][j] << " ";
            if(i==lmin)
            fout << a[lmax][j] << " ";
            if(i!=lmax && i!=lmin)
            fout << a[i][j] << " ";
        }
        fout << endl;
    }

    fin.close();
    fout.close();

    return 0;
}
Comentarii

S-ar putea sa iti placa