#38
Scrieţi definiția completă a subprogramului shift care primește prin intermediul parametrului n o valoare naturală nenulă (n≤100), iar prin intermediul parametrului x, un tablou unidimensional cu n componente. Fiecare componentă a acestui tablou este un număr întreg care are cel mult 8 cifre.
Subprogramul permută circular cu o poziţie spre stânga primele n elemente ale tabloului x și furnizează tabloul modificat tot prin parametrul x.
Variante Bacalaureat 2009
| Problema | Shift | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64762919 | Utilizator | |
| Fișier | shift.cpp | Dimensiune | 130 B |
| Data încărcării | 28 Mai 2026, 13:38 | Scor/rezultat | Eroare de compilare |
shift.cpp: In function ‘void shift(int*, int)’: shift.cpp:7:9: error: redeclaration of ‘int m’ 7 | int m=x[0]; | ^ shift.cpp:6:9: note: ‘int m’ previously declared here 6 | int m,i; | ^ shift.cpp:8:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 8 | for(int i=1;i<n;i++) | ^~~ shift.cpp:10:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 10 | x[n-1]=m; | ^ shift.cpp:6:11: warning: unused variable ‘i’ [-Wunused-variable] 6 | int m,i; | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Shift 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ă.