#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 | #64783791 | Utilizator | |
| Fișier | shift.cpp | Dimensiune | 160 B |
| Data încărcării | 30 Mai 2026, 19:46 | Scor/rezultat | Eroare de compilare |
shift.cpp: In function ‘void shift(int, int**)’: shift.cpp:7:18: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] 7 | aux = x[i]; | ~~~^ | | | int* shift.cpp:9:20: error: invalid conversion from ‘int’ to ‘int*’ [-fpermissive] 9 | x[i + 1] = aux; | ^~~ | | | int shift.cpp: In function ‘int main()’: shift.cpp:18:15: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] 18 | shift(x,n); | ^ | | | int* shift.cpp:4:16: note: initializing argument 1 of ‘void shift(int, int**)’ 4 | void shift(int n, int *x[]){ | ~~~~^ shift.cpp:18:17: error: invalid conversion from ‘int’ to ‘int**’ [-fpermissive] 18 | shift(x,n); | ^ | | | int shift.cpp:4:24: note: initializing argument 2 of ‘void shift(int, int**)’ 4 | void shift(int n, int *x[]){ | ~~~~~^~~
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ă.