297
Cerința
Subprogramul duplicare
are doi parametri, în această ordine:
n
, prin care primește un număr natural (n∈[1,10
4
]
);d
, prin care furnizează numărul obţinut prin duplicarea fiecărei cifre pare a luin
sau-1
dacă 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