Поменять местами минимальный и максимальный элементы массива в Pascal
В массиве найти минимальный и максимальный элементы, поменять их местами.
При поиске минимального и максимального элемента следует запоминать их индексы, а не значения. Поиск выполняется в цикле 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