Răspuns :
#include <iostream>
using namespace std;
// functie ce interschimba linia "l1" cu linia "l2" din matricea "m" cu "c" coloane
// folosind metoda paharelor
void interschimbaLinie(int m[][100], int l1, int l2, int c)
{
int aux;
for(int i=0; i<c; i++)
{
aux = m[l1][i];
m[l1][i] = m[l2][i];
m[l2][i] = aux;
}
}
int main()
{
int n, m, i, j, mat[100][100];
// vom folosi un vector pentru a retine suma elementelor de pe fiecare linie a matricii
int sLinie[100];
// ex: sLinie[5] va contine suma elementelor de pe linia 5
cout << "Numarul de linii: "; cin >> n;
cout << "Numarul de coloane: "; cin >> m;
// citim matricea
for(i=0; i<n; i++)
{
cout << "Introduceti elementele de pe linia " << i+1 << " : ";
for(j=0; j<m; j++)
cin >> mat[i][j];
}
// calculam suma pe fiecare linie
for(i=0; i<n; i++)
{
// initializam suma liniei cu 0
sLinie[i]=0;
// adaugam fiecare element de pe linie la suma
for(j=0; j<m; j++)
sLinie[i] += mat[i][j];
}
// interschimbam liniile astfel:
// daca suma de pe linia pe care ne aflam este mai mare decat
// suma liniei urmatoare, le interschimbam
for(i=0; i<n-1; i++)
for(j=i+1; j<n-1; j++)
if(sLinie[i] > sLinie[j]) interschimbaLinie(mat, i, j, m);
// afisam matricea
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout << mat[i][j] << " ";
cout << "\n";
}
return 0;
}
using namespace std;
// functie ce interschimba linia "l1" cu linia "l2" din matricea "m" cu "c" coloane
// folosind metoda paharelor
void interschimbaLinie(int m[][100], int l1, int l2, int c)
{
int aux;
for(int i=0; i<c; i++)
{
aux = m[l1][i];
m[l1][i] = m[l2][i];
m[l2][i] = aux;
}
}
int main()
{
int n, m, i, j, mat[100][100];
// vom folosi un vector pentru a retine suma elementelor de pe fiecare linie a matricii
int sLinie[100];
// ex: sLinie[5] va contine suma elementelor de pe linia 5
cout << "Numarul de linii: "; cin >> n;
cout << "Numarul de coloane: "; cin >> m;
// citim matricea
for(i=0; i<n; i++)
{
cout << "Introduceti elementele de pe linia " << i+1 << " : ";
for(j=0; j<m; j++)
cin >> mat[i][j];
}
// calculam suma pe fiecare linie
for(i=0; i<n; i++)
{
// initializam suma liniei cu 0
sLinie[i]=0;
// adaugam fiecare element de pe linie la suma
for(j=0; j<m; j++)
sLinie[i] += mat[i][j];
}
// interschimbam liniile astfel:
// daca suma de pe linia pe care ne aflam este mai mare decat
// suma liniei urmatoare, le interschimbam
for(i=0; i<n-1; i++)
for(j=i+1; j<n-1; j++)
if(sLinie[i] > sLinie[j]) interschimbaLinie(mat, i, j, m);
// afisam matricea
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout << mat[i][j] << " ";
cout << "\n";
}
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!