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

Cerinţa Să se scrie o funcție C++ care să returneze cel mai mic 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

Răspunsuri la întrebare

Răspuns de lucaciucandrei
3

int cmmnr(int n) {

   int i, j, nr = 0, v[11] = {0};

   while (n) {

       v[n % 10]++;

       n /= 10;

   }

   if (v[0] > 0)

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

           if (v[i] > 0) {

               nr = nr * 10 + i;

               v[i]--;

               break;

           }

   for (i = 0; i <= 9; i++)

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

           nr = nr * 10 + i;

   return nr;

}

Alte întrebări interesante