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
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
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă