// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var k:=20;
var a:=ArrRandom(k,-50,50); a.Println;
var n:=ReadInteger('Введите число циклических сдвигов влево:') mod k;
if n>0 then a:=(a[n:]+a[:n]).ToArray;
a.Println
end.
Примеры
-31 -27 -45 21 -49 14 -40 21 -13 -45 6 -44 -17 -12 9 4 25 -22 -11 35
Введите число циклических сдвигов влево: 5
14 -40 21 -13 -45 6 -44 -17 -12 9 4 25 -22 -11 35 -31 -27 -45 21 -49
-22 14 25 3 -12 -46 -12 -32 -12 -23 8 -44 -8 42 16 9 -8 33 -22 43
Введите число циклических сдвигов влево: 0
-22 14 25 3 -12 -46 -12 -32 -12 -23 8 -44 -8 42 16 9 -8 33 -22 43
-18 -42 10 48 -41 -32 -29 19 39 49 44 -1 15 -19 -32 -35 36 -6 -38 38
Введите число циклических сдвигов влево: 21
-42 10 48 -41 -32 -29 19 39 49 44 -1 15 -19 -32 -35 36 -6 -38 38 -18
-36 42 29 0 -43 -33 -17 46 -34 7 -6 -20 -30 19 -30 36 43 -22 -44 -44
Введите число циклических сдвигов влево: -1
-36 42 29 0 -43 -33 -17 46 -34 7 -6 -20 -30 19 -30 36 43 -22 -44 -44