Cititi de la tastatura elementele unei matrice cu elemente de tip float, cu dimensiunea 3x3. Rearanjati coloanele matricei astfel ca suma elementelor de pe o anumita coloana sa fie mai mica decat suma elementelor de pe coloana urmatoare. (c++)
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main() {
int n;
float a[100][100];
cout<<"n=";
cin>>n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Matricea initiala:"<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
bool sem=true;
while(sem)
{
sem = false;
for(int j=0; j<n-1; j++)
{
float sum_j=0;
float suma_j_1=0;
for(int i=0; i<n; i++)
{
sum_j = sum_j + a[i][j];
suma_j_1 = suma_j_1 + a[i][j+1];
}
if(sum_j>suma_j_1)
{
for(int i=0; i<n; i++)
{
float aux = a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]= aux;
}
sem=true;
}
}
}
cout<<"Matricea dupa procesare:"<<endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}