Informatică, întrebare adresată de thexblackxwolf, 9 ani în urmă

Se consideră o matrice pătratică cu n linii şi n coloane şi elemente numere naturale. Să se modifice matricea în felul următor: toate elementele de pe liniile care conţin valoare maximă din matrice vor fi mărite cu valoarea minimă din matrice.

Eu am incercat sa fac in felul urmator : Am calculat minimul si maximul dar dupa imi marea doar maximul de pe linie, nu toata linia., folosind algoritmul acesta

for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]==ma)
a[i][j]=a[i][j]+mi;


boiustef: tr. să memorizezi liniile ce conţin maximul

Răspunsuri la întrebare

Răspuns de boiustef
3

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, i,j,elmin,elmax, a[30][30], L[30]={0};

   cout << "n="; cin >> n;

   cout << "introdu elementele matricei, " << n << " linii cu cate" << endl;

   cout << n << " elemente, separate prin spatiu" << endl;

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

   {

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

           cin >> a[i][j];

   }

   elmin=a[0][0]; elmax=a[0][0];

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

   {

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

       {

           if (a[i][j]>elmax) elmax=a[i][j];

           if (a[i][j]<elmin) elmin=a[i][j];

       }

   }

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

   {

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

           if (a[i][j]==elmax)

       {

           L[i]=1; break;

       }

   }

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

   {

       if (L[i]==1)

       {

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

           {

               a[i][j]=a[i][j]+elmin;

           }

       }

   }

   cout << "Matricea modificata:" << endl;

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

   {

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

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

       cout << endl;

   }

   return 0;

}

Explicație:

codul nu e scurt, dar am făcut să fie mai clar...

1) introduc datele

2) aflu elementul maximal şi elementul minimal

3) într-un veczor liniar L, memorizez liniile ce conţin maximul

4) parcurg matricea şi dacă L[i]==1 (adică linia conţine elementul maximal) parcurg această linie cu creşterea fiecărui element al ei cu elmin

5) afişare matrice modificată


boiustef: dacă neclarităţi, întreabă ţi ţi se va răspunde (dar e de dorit să înţelegi singur.. :))) )
Alte întrebări interesante