👤

Se citește de la tastatura un număr natural. Sa se determine cel mai mare număr care se poate forma din cifrele distincte ale numărului citit.

Răspuns :

#include <iostream>

using namespace std;

int determinaMaxim(int n) {

bool v[10]{};

do {

 v[n % 10] = 1;

 n /= 10;

} while (n);

int rezultat = 0;

for (int i = 9; i >= 0; --i) {

 if (v[i]) rezultat = rezultat * 10 + i;

}

return rezultat;

}

int main() {

int n;

cin >> n;

cout << determinaMaxim(n);

}