Объяснение:
program kek;
var
n: Integer;
a: array of Integer;
k: Integer;
i, posMax: Integer;
begin
//чтение количества элементов
read(n);
//выделение памяти для массива a под n элементов
SetLength(a, n);
//чтение элементов
for i := 0 to n-1 do
read(a[i]);
//чтение k
read(k);
//вычисление позиции максимального элемента в массиве a
posMax := 0;
for i := 1 to n-1 do
if a[posMax] <= a[i] then
posMax := i;
//смещение всех элементов с позиции posMax+1 до n-1 вправо на 1 позицию
SetLength(a, n+1);
for i := n-1 downto posMax+1 do
a[i+1] := a[i];
//вставка k в позицию posMax+1, то есть сразу после posMax
a[posMax+1] := k;
//вывод результирующего массива
for i := 0 to n do
write(a[i], ' ');
end.
Copyright © 2025 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Объяснение:
program kek;
var
n: Integer;
a: array of Integer;
k: Integer;
i, posMax: Integer;
begin
//чтение количества элементов
read(n);
//выделение памяти для массива a под n элементов
SetLength(a, n);
//чтение элементов
for i := 0 to n-1 do
read(a[i]);
//чтение k
read(k);
//вычисление позиции максимального элемента в массиве a
posMax := 0;
for i := 1 to n-1 do
if a[posMax] <= a[i] then
posMax := i;
//смещение всех элементов с позиции posMax+1 до n-1 вправо на 1 позицию
SetLength(a, n+1);
for i := n-1 downto posMax+1 do
a[i+1] := a[i];
//вставка k в позицию posMax+1, то есть сразу после posMax
a[posMax+1] := k;
//вывод результирующего массива
for i := 0 to n do
write(a[i], ' ');
end.