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

Să se determine elementele "șa" dintr-o matrice (elementele care sunt minime pe linie și maxime pe coloana, sau invers).
Vă rog urgent!

Răspunsuri la întrebare

Răspuns de Cristi724
1

L-am facut in C++ :


#include <iostream>

using namespace std;

int main ()

{  int l,c,i,j,m[50[50],max_coloane[50],min_coloane[50],max_linii[50],min_linii[50],min,max;

   cout<<"Nr.linii:";

   cin>>l;

   cout<<"Nr.coloane:";

   cin>>c;

   for(i=1;i<=l;i++)

       for(j=1;j<=c;j++){

   cout<<"m["<<i<<"]["<<j<<"]:";

   cin>>m[i][j];}

   cout<<"Matricea este:"<<endl;

   for(i=1;i<=l;i++){

       for(j=1;j<=c;j++)

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

   cout<<endl;}

   for(i=1;i<=l;i++){

   max=-99999;

   min=99999;

       for(j=1;j<=c;j++)

   {if (m[i][j]>max)

       {max=m[i][j];

   max_linii[i]=max;}

   if (m[i][j]<min)

       {min=m[i][j];

   min_linii[i]=min;}

   }}

   for(j=1;j<=c;j++){

       max=-99999;

       min=99999;

       for(i=1;i<=l;i++)

   {if(m[i][j]>max)

       {max=m[i][j];

   max_coloane[j]=max;}

   if (m[i][j]<min)

       {min=m[i][j];

       min_coloane[j]=min;}

   }}

   cout<<"Elementele sa sunt:"<<endl;

   for(i=1;i<=l;i++)

   for(j=1;j<=c;j++){

   if(max_linii[i]==min_coloane[j] || min_linii[i]==max_coloane[j])

   cout<<m[i][j]<<" "<<"de pe linia "<<i<<", coloana "<<j<<"."<<endl;}

   return 0;

}

Alte întrebări interesante