Массив из 10 элементов заполнить случайными числами от 0 до 20 и вывести на экран. Выполнить сдвиг элементов на 2 вправо и вывести результат на экран. Pascal
Ответы
Ответ:
Циклический сдвиг массива вправо на 1 позицию:
program N63598236;
const N = 10;
var a:array[ 1..N ] of shortint;
i:byte;
t:shortint;
begin
randomize;
writeln('Исходный массив: ');
for i := 1 to N do
begin
a[ i ] := random(21) - 10;
write(a[ i ]:4)
end;
t := a[ N ];
for i := N downto 2 do
a[ i ] := a[ i - 1 ];
a[ 1 ] := t;
writeln;
writeln('Массив, сдвинутый вправо на 1 элемент: ');
for i := 1 to N do
write(a[ i ]:4);
readln
end.
Циклический сдвиг массива вправо на произвольное вводимое пользователем количество элементов:
program N63598236;
const N = 10;
var a:array[ 1..N ] of shortint;
i, j, k:byte;
t:shortint;
begin
randomize;
writeln('Исходный массив: ');
for i := 1 to N do
begin
a[ i ] := random(21) - 10;
write(a[ i ]:4)
end;
writeln;
write('Введите кол-во позиций сдвига: ');
readln(k);
for j := 1 to k do
begin
t := a[ N ];
for i := N downto 2 do
a[ i ] := a[ i - 1 ];
a[ 1 ] := t
end;
writeln('Сдвинутый массив: ');
for i := 1 to N do
write(a[ i ]:4);
readln
end.