Cerința
Se dă un vector cu n
elemente, numere naturale, și un număr k
, divizor al lui n
. Se împarte vectorul în k
secvențe disjuncte, numerotate de la 1
la k
. Să se permute circular cu o poziție spre stânga elementele din fiecare dintre cele k
secvențe și să se afișeze pe ecran vectorul rezultat în urma acestor modificări.
Se vor defini și apela următoarele subprograme:
citire
, care citește de la tastatură valoarea luin
, a luik
și celen
elemente ale tablouluiafisare
, care afișează pe ecran elementele tabloului, separate prin exact un spațiupermutare
, care permută circular cu o poziție spre stânga elementele unei secvențe din tablou precizata prin cele două extremitățist
șidr
.
În programele C/C++ nu se vor folosi variabile globale.
Date de intrare
Programul citește de la tastatură numerele n
și k
, iar apoi n
numere naturale, reprezentând elementele vectorului.
Date de ieșire
Se vor afișa pe ecran elementele tabloului după modificarea cerută, separate prin exact un spațiu.
Restricții și precizări
1 ≤ k < n ≤ 1000
,k
este divizor al luin
- cele
n
numere citite vor fi mai mici decât1000
Exemplu:
Intrare
15 5 3 6 4 7 6 6 6 4 6 7 6 6 4 4 5
Ieșire
6 4 3 6 6 7 4 6 6 6 6 7 4 5 4
Explicație
Vectorul se împarte în 5
secvențe: (3 6 4)
, (7 6 6)
, (6 4 6)
, (7 6 6)
și (4 4 5)
. Elementele din fiecare dintre ele se permută circular cu o poziție spre stânga și se obține secvențele (6 4 3)
, (6 6 7)
, (4 6 6)
, (6 6 7)
și (4 5 4)
.