Предмет: Информатика,
автор: JustSwag
Помогите решить задачи по икт.
1 заполнителя массив из 10 элементов случайными числами в интервале [-10..10] и выполнить циклический сдвиг вправо.
2 заполнить массив из 10 элементов случайными числами в интервале [0..100) и отсортировать её по возрастанию
Аноним:
На сколько позиций сдвиг сделать, на 1?
Ответы
Автор ответа:
1
Задача 1.
const
n = 10;
var
a: array[1..n] of integer;
i, s: integer;
begin
Randomize;
Writeln('Элементы массива');
for i := 1 to n do
begin
a[i] := Random(21) - 10;
Write(a[i]:4);
end;
Writeln;
s := a[n];
for i := n - 1 downto 1 do a[i + 1] := a[i];
a[1] := s;
Writeln('После циклического сдвига вправо на 1');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Элементы массива
-2 -1 7 10 2 -7 9 -6 -5 -10
После циклического сдвига вправо на 1
-10 -2 -1 7 10 2 -7 9 -6 -5
Задача 2.
const
n = 10;
var
a: array[1..n] of integer;
i, j, t: integer;
begin
Randomize;
Writeln('Исходный массив');
for i := 1 to n do
begin
a[i] := random(101);
Write(a[i]:4)
end;
Writeln;
for i := 1 to n-1 do
for j := 1 to n-i do
if a[j] > a[j+1] then
begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end;
Writeln('Отсортированный по возрастанию массив');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Исходный массив
31 60 14 17 46 6 46 97 60 88
Отсортированный по возрастанию массив
6 14 17 31 46 46 60 60 88 97
const
n = 10;
var
a: array[1..n] of integer;
i, s: integer;
begin
Randomize;
Writeln('Элементы массива');
for i := 1 to n do
begin
a[i] := Random(21) - 10;
Write(a[i]:4);
end;
Writeln;
s := a[n];
for i := n - 1 downto 1 do a[i + 1] := a[i];
a[1] := s;
Writeln('После циклического сдвига вправо на 1');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Элементы массива
-2 -1 7 10 2 -7 9 -6 -5 -10
После циклического сдвига вправо на 1
-10 -2 -1 7 10 2 -7 9 -6 -5
Задача 2.
const
n = 10;
var
a: array[1..n] of integer;
i, j, t: integer;
begin
Randomize;
Writeln('Исходный массив');
for i := 1 to n do
begin
a[i] := random(101);
Write(a[i]:4)
end;
Writeln;
for i := 1 to n-1 do
for j := 1 to n-i do
if a[j] > a[j+1] then
begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end;
Writeln('Отсортированный по возрастанию массив');
for i := 1 to n do Write(a[i]:4);
Writeln
end.
Тестовое решение:
Исходный массив
31 60 14 17 46 6 46 97 60 88
Отсортированный по возрастанию массив
6 14 17 31 46 46 60 60 88 97
Похожие вопросы
Предмет: Українська мова,
автор: vadym2311oxreau
Предмет: Русский язык,
автор: KinGolden
Предмет: Другие предметы,
автор: DvornikovaPolina
Предмет: Алгебра,
автор: Magvalli