fbpx

Problema #38 – Shift – Rezolvari PBInfo

de Mihai-Alexandru

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.

void shift(int a[] , int n)
{
    int b=a[0];
    for(int i = 1 ; i < n ; ++i)
    {
        a[i-1]=a[i];
    }
    a[n-1]=b;
}
Comentarii

S-ar putea sa iti placa