fbpx

Problema #25 – CelMaiMareNr – Rezolvari PBInfo

de Mihai-Alexandru

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

Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

int cmmnr(int n){

    int a[11], ind = 0;
    while(n){
        a[++ind] = n % 10;
        n/=10;
    }

    for(int i = 1; i < ind; ++i)
        for(int j = i + 1; j <= ind; ++j)
            if(a[i] < a[j])
                swap(a[i], a[j]);

    for(int i = 1; i <= ind; ++i)
        n = n * 10 + a[i];

    return n;

}
Comentarii

S-ar putea sa iti placa