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