Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int m, n;
cin >> m >> n;
// m linii, n coloane
int a[m][n];
for(int i = 0; i < m; i++ )
for(int j = 0; j < n; j++ )
cin >> a[i][j];
for(int i = 0; i < m; i++ )
{
for(int j = i+1; j < m; j++ )
if( a[i][n-1] > a[j][n-1] )
{
int aux[n];
for(int k = 0; k < n; k++ )
{
aux[k] = a[i][k];
a[i][k] = a[j][k];
a[j][k] = aux[k];
}
}
}
cout << endl;
for(int i = 0; i < m; i++ )
{
for(int j = 0; j < n; j++ )
cout << a[i][j] << " ";
cout<<endl;
}
}
Explicație:
In imaginea de mai jos am explicat cum se interschimba primele doua linii ale matricii:
m = 3
n = 4
10 20 30 8
19 21 40 0
7 80 23 -2
Dupa ce a verificat prima linie cu a doua, va verifica daca noul numar de la finalul primei linii ( daca este cazul ) este mai mare decat ultimul numar de pe linia a treia, a patra pana la linia m.
Dupa care va verifica daca ultimul element liniei cu numarul 2 este mai mare decat cel de pe linia 3 si tot asa mai departe realizandu-se interschimbari pana cand variabila i ajunge sa indeaplineasca conditia din for si anume i < m.

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că ați găsit conținutul oferit util și inspirațional. Dacă aveți întrebări suplimentare sau doriți asistență, vă încurajăm să ne contactați. Ne-ar face plăcere să reveniți și nu uitați să ne adăugați în lista dumneavoastră de favorite!