#1842
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 reţinute în tabloul a sau valoarea -1 dacă în tablou nu există nicio cifră pară.
| Problema | CreareNumarRec | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64491334 | Utilizator | |
| Fișier | crearenumarrec.cpp | Dimensiune | 84 B |
| Data încărcării | 11 Mai 2026, 08:33 | Scor/rezultat | Eroare de compilare |
crearenumarrec.cpp: In function ‘void F(int, int*, int&)’: crearenumarrec.cpp:6:28: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] 6 | {k=k*10+a[n];return F(n,a,&k);} | ^~ | | | int* crearenumarrec.cpp:4:32: note: initializing argument 3 of ‘void F(int, int*, int&)’ 4 | void F(int n, int a[100], int &k) | ~~~~~^ crearenumarrec.cpp:6:28: error: cannot bind rvalue ‘(int)(& k)’ to ‘int&’ 6 | {k=k*10+a[n];return F(n,a,&k);} | ^~ crearenumarrec.cpp:8:9: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 8 | int main(){ | ^~ crearenumarrec.cpp:8:9: note: remove parentheses to default-initialize a variable 8 | int main(){ | ^~ | -- crearenumarrec.cpp:8:9: note: or replace parentheses with braces to value-initialize a variable crearenumarrec.cpp:8:11: error: a function-definition is not allowed here before ‘{’ token 8 | int main(){ | ^ crearenumarrec.cpp:17:2: error: expected ‘}’ at end of input 17 | } | ^ crearenumarrec.cpp:5:1: note: to match this ‘{’ 5 | {if (a[n]%2==0) | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema CreareNumarRec face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.