👤

Cerinţa
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.

Restricţii şi precizări
numele funcției va fi cmmnr
funcția va avea un parametru reprezentând numărul care se dă
numărul care se dă va fi mai mic decât 1.000.000.000

Eu am facut intr-un fel dar imi da eroare de compilare pe pbinfo in timp ce pe codeblocks imi da rezultatul corect.

#include
using namespace std;
int cmmnr(int n,int v[11])
{
int p,j,aux,i,nr=0;
p=0;
i=1;
do
{
v[i]=n%10;
i++;
n=n/10;
p++;
}while(n!=0);
n=p;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(v[i] {
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
for(i=1;i<=n;i++)
nr=nr*10+v[i];
return nr;
}
int main()
{
int n,v[11];
cin>>n;
cout<
return 0;
}


Răspuns :

#include <iostream>

using namespace std;

int cmmnr(int n)

{

   unsigned v[10],ok=0,i,aux,j;

   while (n!=0)

   {

       v[ok++]=n%10;

       n=n/10;

   }

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

       for(j=i+1;j<ok;j++)

           if(v[i]<v[j])

           {

               aux=v[i];

               v[i]=v[j];

               v[j]=aux;

           }

   n=0;

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

       n=n*10+v[i];

   return n;

}

int main()

{

   int n;

   cin>>n;

   cout<<cmmnr(n);

}


Sa-mi spui numarul problemei sa verific daca problema ia maxim.