Вставить после максимального элемента массива значение минимального элемента - PascalABC.NET
Формулировка задачи:
2. Дан массив А размером N.Вставить после максимального элемента значение минимального элемента.
Решение задачи: «Вставить после максимального элемента массива значение минимального элемента»
textual
Листинг программы
const
n = 100;
var
A: array [1..n] of integer;
posmax, min, max, k: integer;
begin
max := 0;
min := 99999;
randomize;
readln(k);//размер массива
if k < n then
begin
for var i := 1 to k do //заполнение числами
begin
A[i] := random(100);
write(A[i]:4); //вывод элемента
if a[i] > max then //если больше максимального
begin
max := A[i]; //изменить максимальный
posmax := i; //запомнить позицию
end
else
if a[i] < min then //если меньше минимального
min := A[i]; //изменить минимальный
end;
for var i := k downto posmax + 1 do //сдвиг массива
A[i + 1] := A[i];
A[posmax + 1] := min; //вставка минимального после максимального
writeln;
for var i := 1 to k + 1 do //вывод преобразованного массива
write(A[i]:4);
end
else
writeln('Выскочит ошибка диапазона');
end.
Объяснение кода листинга программы
Список действий в коде:
- Задается размер массива
k(строка 17). - Инициализируются переменные
maxиminзначением первого элемента массива (строка 18). - Заполняются элементы массива
Aслучайными числами (строки 19-22). - Находится позиция максимального элемента
posmax(строки 23-26). - Сдвигаются элементы массива
Aначиная с позицииposmax + 1(строки 27-28). - Вставляется минимальный элемент после максимального (строка 29).
- Выводятся все элементы массива (строки 30-31).