Поменять местами минимальный и максимальный элементы массива
В массиве найти минимальный и максимальный элементы, поменять их местами.
При поиске минимального и максимального элемента следует запоминать их индексы, а не значения. Поиск выполняется в цикле for, в котором с помощью условного оператора проверяется каждый элемент массива. Если он больше (или меньше), чем элемент по индексу, который сохранен в соответствующей переменной, то следует в эту переменную записать индекс текущего элемента.
После цикла необходимо значение максимального элемента поставить в место массива, имеющее индекс минимального элемента. Чтобы не потерять при этом минимум, следует сохранить его в отдельной (буферной) переменной. Это значение потом будет присвоено по индексу максимального элемента.
const N = 5;
var
a: array[1..N] of real;
min, max, i: byte;
b: real;
begin
randomize;
for i:=1 to N do begin
a[i] := random();
write(a[i]:6:2);
end;
writeln;
min := 1;
max := 1;
for i:=2 to N do begin
if a[i] < a[min] then
min := i
else
if a[i] > a[max] then
max := i;
end;
b := a[min];
a[min] := a[max];
a[max] := b;
for i:=1 to N do
write(a[i]:6:2);
writeln;
end.
Пример выполнения программы:
0.92 1.00 0.42 0.40 0.48
0.92 0.40 0.42 1.00 0.48