Scrieţi programul C/C++ care citeşte de la tastatură două numere naturale m şi n (1≤m≤50, 1≤n≤50) şi m*n numere naturale de cel mult 5 cifre ce reprezintă elementele unui tablou bidimensional, şi afişează pe ecran cel mai mare număr care se poate forma din cifrele distincte ale elementului minim și elementului maxim.
Exemplu: pentru m=3, n=4 şi matricea de mai jos 23 456 16 571
17 43 45 65
34 92 71 19 se va afişa 751


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   unsigned int n,m,i,j,mx,mn,X;

   cin>>n>>m;

   int a[n][m], b[9]={0};

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

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

       cin>>a[i][j];

   mx=a[0][0];

   mn=a[0][0];

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

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

   {

       if(a[i][j]>mx)

           mx=a[i][j];

       if(a[i][j]<mn)

           mn=a[i][j];

   }

   while(mx!=0)

   {

       X=mx%10;

       b[X]=1;

       mx=mx/10;

   }

    while(mn!=0)

   {

       X=mn%10;

       b[X]=1;

       mn=mn/10;

   }

   X=0;

   for(i=9;i>=1;i--)

       if(b[i]==1)

           X=X*10+i;

       cout<<X;

       return 0;

}

Explicație: