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

Să se scrie o funcție C++ care să returneze cel mai mare număr care se poate scrie cu cifrele unui număr natural transmis ca parametru.

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int num;

int numMax(int m)

{

   int a[10]={0},cif;

   if (m==0) return 0;

   else

   {

       while (m)

       {

           cif=m%10;

           ++a[cif];

           m/=10;

       }

       int n=0;

       for (int j=9; j>=0; j--)

       {

           if (a[j])

           {

               for (int i=1; i<=a[j]; i++)

                   n=n*10+j;

           }

       }

       return n;

   }

}

int main()

{

   cin >> num;

   cout << numMax(num);

   return 0;

}

Explicație:

vectorul de frecventa a cifrelor face treaba aici...

Alte întrebări interesante