417
Cerința
Subprogramul duplicare are doi parametri, în această ordine:
n, prin care primește un număr natural (n∈[1,104]);d, prin care furnizează numărul obţinut prin duplicarea fiecărei cifre pare a luinsau-1dacă acesta nu are nicio cifră pară.
Scrieți definiția completă a subprogramului.
Exemplu
Dacă n=2380, după apel d=2238800.
Important
Soluția propusă va conține definiția subprogramului cerut. 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.
void duplicare(int n , int &d)
{
int a[20] , p = 1;
int cn = n;
while(n)
{
a[p]=n%10;
n/=10;
p++;
}
p--;
d=0;
for(int i = p ; i >= 1 ; --i)
{
if(a[i]%2==0)
d = d * 10 + a[i] , d = d * 10 + a[i];
else
d = d * 10 + a[i];
}
if(d == cn)
d=-1;
}
Comentarii