30 на !
напишите программу, которая выполняет циклический сдвиг элементов массива вправо на r элементов.
входные данные
первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 1 . в третьей строке записано число r ( 0 ≤ r ≤ n ).
выходные данные
программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами.
примеры
входные данные
6
1 2 3 4 5 6
2
выходные данные
5 6 1 2 3 4
begin
var a:array[1..20] of integer;
Randomize;
for var i:=1 to 20 do a[i]:=Random(-50,50); a.Println;
var b:=Range(2,20,2).Select(i->a[i]);
Writeln('Элементы с четными индексами по возрастанию');
b.Sorted.Println;
Writeln('Элементы с четными индексами по убыванию');
b.SortedDescending.Println;
end.
Тестовое решение:
-15 46 -34 -3 43 16 -17 -28 -19 12 -28 -11 48 -12 -1 33 -37 9 6 -40
Элементы с четными индексами по возрастанию
-40 -28 -12 -11 -3 9 12 16 33 46
Элементы с четными индексами по убыванию
46 33 16 12 9 -3 -11 -12 -28 -40