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ă.
Restrictii
0 < n < 10
numele subprogramului cerut este F
parametrii sunt, în această ordine: n, a, k
elementele vectorului a sunt indexate de la zero
valoarea lui k nu va depăși 2000000000
se recomandă realizarea unei soluții recursive
EX:
Dacă n=6 și a= (2, 3, 5, 6, 4, 1), după apel k=264.
Răspunsuri la întrebare
Răspuns de
4
Ti-am facut in C++ o varianta iterativa :
void F(int n, int a[],int &k)
{
int i;
bool ok=false;
k=0;
for(i=0;i<n;i++)
if(a[i]%2==0)
{
k=k*10+a[i];
ok=true;
}
if(!ok) k=-1;
return;
}
void F(int n, int a[],int &k)
{
int i;
bool ok=false;
k=0;
for(i=0;i<n;i++)
if(a[i]%2==0)
{
k=k*10+a[i];
ok=true;
}
if(!ok) k=-1;
return;
}
nataliaachashiro:
iterativa stiu sa o fac, recursivele nu le prea inteleg
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă