#4260
Folosind metoda Divide et Impera, scrieți funcția recursivă cu antetul
int NrXDivImp(int a[], int st, int dr, int x)
care primind ca parametri un vector a de numere întregi și trei numere întregi st, dr și x, returnează numărul de apariții ale numărului x în secvența a[st], a[st+1], ..., a[dr].
| Problema | NrXDivImp | Operații I/O |
nrxdivimp.in/nrxdivimp.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64772378 | Utilizator | |
| Fișier | nrxdivimp.cpp | Dimensiune | 259 B |
| Data încărcării | 29 Mai 2026, 09:51 | Scor/rezultat | Eroare de compilare |
nrxdivimp.cpp: In function ‘int NrXDivImp(int*, int, int, int)’: nrxdivimp.cpp:7:26: error: expected ‘;’ before ‘int’ 7 | else return 0 | ^ | ; 8 | int m = ( st + dr ) / 2; | ~~~ nrxdivimp.cpp:5:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 5 | if ( st == dr ) | ^~ nrxdivimp.cpp:8:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 8 | int m = ( st + dr ) / 2; | ^~~ nrxdivimp.cpp:5:8: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else] 5 | if ( st == dr ) | ^ nrxdivimp.cpp:9:27: error: invalid conversion from ‘int’ to ‘int*’ [-fpermissive] 9 | return NrXDivImp(a[100] , st , dr , x ) + NrXDivImp( a[100] , m + 1 , dr , x ); | ~~~~~^ | | | int nrxdivimp.cpp:4:19: note: initializing argument 1 of ‘int NrXDivImp(int*, int, int, int)’ 4 | int NrXDivImp(int a[100], int st, int dr, int x) { | ~~~~^~~~~~ nrxdivimp.cpp:9:63: error: invalid conversion from ‘int’ to ‘int*’ [-fpermissive] 9 | return NrXDivImp(a[100] , st , dr , x ) + NrXDivImp( a[100] , m + 1 , dr , x ); | ~~~~~^ | | | int nrxdivimp.cpp:4:19: note: initializing argument 1 of ‘int NrXDivImp(int*, int, int, int)’ 4 | int NrXDivImp(int a[100], int st, int dr, int x) { | ~~~~^~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema NrXDivImp 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ă.