В одномерном массиве найти максимальный из отрицательных элементов и поменять его местами с последним элементом массива.
Присвоить j ноль. Это будет сигналом о том, что отрицательных элементов вообще нет.
Если очередной элемент массива меньше нуля и j = 0, то присвоить его индекс переменной j. Если он отрицательный, а j не равно 0, то если он больше, чем значение под j, переписать j на текущий индекс.
Если значение j не равно нулю, произвести обмен и вывести массив.
const N = 15; var a: array[1..N] of integer; i, j: byte; b: integer; begin randomize; for i:=1 to N do begin a[i] := random(100)-50; write(a[i],' '); end; writeln; j := 0; for i:=1 to N do if a[i] then if j = 0 then j := i else if a[i] > a[j] then j := i; if j 0 then begin b := a[j]; a[j] := a[N]; a[N] := b; for i:=1 to N do write(a[i],' '); writeln; end else writeln('Отрицательных элементов нет'); end.
Пример выполнения:
-15 45 45 -38 22 39 -8 40 40 -45 -7 -31 -21 -21 -22 -15 45 45 -38 22 39 -8 40 40 -45 -22 -31 -21 -21 -7
Комментарии
массив
Напишите программу формирования массива размером 5 х 5 через типизированную константу. Замените в нем все отрицательные значения элементов
суммой значений элементов первой строки массива. Выведите на экран исход-
ный и измененный массивы.
Пример определения матрицы
Пример определения матрицы как константы: