Cerinţa
Scrieți definiția completă a subprogramului recursiv F, care primește prin intermediul parametrului n un număr natural nenul (1≤n≤9), iar prin intermediul parametrului a, un tablou unidimensional care conţine n valori naturale, fiecare dintre acestea reprezentând câte o cifră a unui număr. Astfel, a0 reprezintă prima cifră a numărului, a1 a doua cifră, etc.
Subprogramul furnizează prin parametrul k o valoare naturală egală cu numărul obţinut din cifrele pare memorate în tabloul a sau valoarea -1 dacă în tablou nu există nicio cifră pară.
Restricţii şi precizări
0 < n < 10- numele subprogramului cerut este
F - parametrii sunt, în această ordine:
n,a,k - elementele vectorului
asunt indexate de la zero - valoarea lui
knu va depăși2000000000 - se recomandă realizarea unei soluții recursive
Exemplu
Dacă n=6 și a= (2, 3, 5, 6, 4, 1), după apel k=264.
Important
Soluţia propusă va conţine doar 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 F(int n , int a[] , int& k)
{
k = -1;
for(int i = 0 ; i < n ; ++i)
{
if(a[i]%2==0)
{
if(k==-1)
k=0;
k=k*10+a[i];
}
}
}