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
a
sunt indexate de la zero - valoarea lui
k
nu 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.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema CreareNumarRec :
void F(int n,int *a, int &k){
if(n == -1)
k = -1;
else{
F(n-1, a, k);
if(a[n-1] % 2 == 0)
if(k == -1)
k = a[n-1];
else
k = k * 10 + a[n-1];
}
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1842 CreareNumarRec
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1842 CreareNumarRec de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!