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

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

Răspuns de andreidiaconescu18
2

#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;

}

Alte întrebări interesante