Cerința
Subprogramul cifreImpare
are un singur parametru, n
, prin care primește un număr natural cu toate cifrele nenule (n∈[1,10
9
]
). Subprogramul returnează numărul obținut prin eliminarea tuturor cifrelor impare din n
, respectiv -1
dacă nu există astfel de cifre sau dacă toate cifrele lui n
sunt impare.
Scrieți definiţia completă a subprogramului.
Exemplu
Dacă n=23541
, subprogramul returnează valoarea 24
, iar dacă n=28
, subprogramul returnează valoarea -1
.
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.
int cifreImpare(int n) { int a[11] , p = 1; int cn = n; while(n) { a[p]=n%10; n/=10; p++; } p--; int nr = 0; for(int i = p ; i >= 1 ; --i) if(a[i]%2==0) nr = nr * 10 + a[i]; if(nr == 0 || nr == cn) return -1; return nr; }