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

Se consideră subprogramul cifre, cu doi parametri, a și b, care primește prin intermediul primului parametru, a, un număr natural cu maximum 8 cifre nenule şi returnează, prin intermediul celui de-al doilea parametrul b, cel mai mic număr care se poate forma cu toate cifrele lui a.

a) Scrieți definiția completă a subprogramului cifre. ​

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

void cifre(int a, int &b) {

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

   b = 0;

   while (a) {

       cif = a % 10;

       v[cif] = v[cif] + 1;

       a = a / 10;

   }

   if (v[0] > 0)

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

           if (v[i] > 0) {

               b = b * 10 + i;

               v[i] = v[i] - 1;

               break;

           }

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

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

           b = b * 10 + i;

}

Alte întrebări interesante