Запишите в массив 20 случайных чисел.Циклически сдвиньте массив влево. По...

0 голосов
45 просмотров

Запишите в массив 20 случайных чисел.Циклически сдвиньте массив влево.
По ИКТ(информатика)
Помогите!Буду благодарна


Информатика (128 баллов) | 45 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// 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
(150k баллов)
0 голосов

Var
a:array[1..20] of integer;
tmp, i: integer;
begin
randomize();
for i:= 1 to 20 do
 begin
   a[i]:= random(1000);
   Write(a[i], ' ');
 end;
tmp:= a[1];
for i:= 1 to 19 do
  a[i]:=a[i+1];
a[20]:=tmp;
Writeln();
for i:= 1 to 20 do
  Write(a[i], ' ');
end.

(8.8k баллов)