# PBinfo #38 – shift – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerinţa
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.

Restricţii şi precizări

0 < n <= 100
numele subprogramului cerut este shift
parametrii sunt, în această ordine: x, n
tabloul x are elementele indexate de la zero

Exemplu:
Dacă inițial n=6 și x= (12, 7, 6, 3, 8, 5), după apel tabloul devine x= (7, 6, 3, 8, 5, 12).

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.

## Cod sursă C++

```cpp
void shift(int x[] , int n) {
    int temp = x[0];
    for (int i = 1; i < n; i++) {
        x[i - 1] = x[i];
    } x[n - 1] = temp;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/38)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/38/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-38/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
