Rezolvare completă PbInfo #193 InterschimbareLinii

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 

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema InterschimbareLinii:

#include <iostream>
#include <fstream>
#include <cassert>

using namespace std;

ifstream fin("interschimbarelinii.in");
ofstream fout("interschimbarelinii.out");

int n,m,a[110][110];

int main(){
    fin >> n >> m;
    for(int i=1;i<=n;++i)
        for(int j=1; j<=m;++j)
            fin >> a[i][j];
    int imax=1,jmax=1;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            if(a[i][j]>a[imax][jmax])
                imax = i, jmax=j;
    int imin=1,jmin=1;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            if(a[i][j]<a[imin][jmin])
                imin = i, jmin=j;
    for(int j=1;j<=m;++j){
        int aux = a[imin][j];
        a[imin][j] = a[imax][j];
        a[imax][j] = aux;
    }
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j)
            fout << a[i][j] << " ";
        fout << endl;
    }
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #193 InterschimbareLinii

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #193 InterschimbareLinii de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!