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

Cerința
Scrieți un program care citește de la tastatură două numere naturale din intervalul [2,50], n și m, și elementele unui tablou bidimensional cu n linii și m coloane, numere naturale distincte din intervalul [0,104].

Programul interschimbă valoarea minimă din ultima coloană a tabloului cu valoarea minimă din prima coloană a tabloului, apoi afișează pe ecran tabloul modificat, câte o linie a tabloului pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.

Date de intrare
Programul citește de la tastatură numerele n m, iar apoi cele n • m elemente ale tabloului.

Date de ieșire
Programul va afișa pe ecran elementele tabloului modificat, conform cerinței.

Restricții și precizări
2 ≤ n,m ≤ 50
elementele tabloului aparțin intervalului [0,104]

Exemplu
Intrare

4 3
7 5 19
3 8 4
23 6 1
10 2 9
Ieșire

7 5 19
1 8 4
23 6 3
10 2 9
O rezolvare cat mai simpla va rog.

Răspunsuri la întrebare

Răspuns de boiustef
3

Răspuns:

Explicație:

#include <iostream>

using namespace std;

int n,m,i,j,lp,lu,minp,minu, v[50][50];

int main()

{

   cin >> n >> m;

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

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

           cin >> v[i][j];

   minp=v[0][0]; lp=0;

   for (i=1; i<n; ++i)

       if (v[i][0]<minp)

   {

       minp=v[i][0]; lp=i;

   }

   minu=v[0][m-1]; lu=0;

   for (i=1; i<n; ++i)

       if (v[i][m-1]<minu)

   {

       minu=v[i][m-1]; lu=i;

   }

   int t=v[lp][0];

   v[lp][0]=v[lu][m-1];

   v[lu][m-1]=t;

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

   {

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

           cout << v[i][j] << " ";

       cout << "\n";

   }

}

Alte întrebări interesante