Informatică, întrebare adresată de sikesjack1, 8 ani în urmă

Buna!
Ma poate ajuta cinvea la problma InterschimbareLinii de pe pbinfo?

#193 InterschimbareLinii
Clasa a 9-a Tablouri bidimensionale (matrice) Parcurgerea matricelor oarecare InterschimbareLinii
Etichete: nicio etichetă


Enunț
Soluții
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

Multumesc!

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Răspuns:

#include <fstream>

using namespace std;

int A[25][25];

int main(){

ifstream fin("interschimbarelinii.in");

ofstream fout("interschimbarelinii.out");

int n,m,imax=0,imin=0,vmax=-1,vmin=-1,x;

fin>>n>>m;

for(int i = 0; i < n; i++){

for(int j = 0; j < m; j++){

fin>>x;

A[i][j]=x;

if(vmin==-1||x<vmin){

vmin = x;

imin = i;

}

if(x > vmax){

vmax = x;

imax = i;

}

}

}

fin.close();

for(int i = 0; i < n; i++){

int iv = i==imin? imax:(i == imax? imin:i);

for(int j = 0; j < m; j++)

fout << A[iv][j]<<' ';

fout << '\n';

}

fout.close();

}


sikesjack1: Multumesc! Ce inseamna totusi semnul intrebarii din structura asta de decizie? int iv = i==imin? imax:(i == imax? imin:i);
CinevaFaraNume: Se numeste operatorul ternar/conditional. (a ? b : c) are valoarea b daca a este adevarat sau c altfel
CinevaFaraNume: Il gasesti asa in documentatia C++: "The Conditional (or Ternary) Operator (?:)"
sikesjack1: super, mersi :)
Alte întrebări interesante