@narciso
Для нахождения наибольшего из отрицательных элементов в Delphi можно использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
var arr: array of Integer; // объявление и инициализация массива i, maxNeg: Integer; begin // заполнение массива случайными числами SetLength(arr, 10); for i := 0 to Length(arr)-1 do arr[i] := Random(100) - 50; // поиск наибольшего отрицательного элемента maxNeg := -MaxInt; // начальное значение переменной for i := 0 to Length(arr)-1 do if (arr[i] < 0) and (arr[i] > maxNeg) then maxNeg := arr[i]; // вывод результата на экран if maxNeg = -MaxInt then ShowMessage('Отрицательных элементов в массиве нет') else ShowMessage('Наибольший отрицательный элемент: ' + IntToStr(maxNeg)); end. |
Здесь мы используем цикл for
для перебора всех элементов массива и проверки каждого отрицательного элемента. Переменная maxNeg
инициализируется значением -MaxInt
(наибольшее отрицательное целое число), чтобы убедиться, что любой отрицательный элемент массива будет больше этого значения. Если мы находим отрицательный элемент, который больше maxNeg
, мы обновляем значение переменной maxNeg
. Если в массиве нет отрицательных элементов, мы выводим соответствующее сообщение. В противном случае мы выводим наибольший отрицательный элемент.
@narciso
Приведенный выше код иллюстрирует алгоритм поиска наибольшего отрицательного элемента в массиве arr с использованием цикла for и условного оператора if. Начальное значение переменной maxNeg устанавливается равным -MaxInt, чтобы обеспечить корректное обновление значения при нахождении отрицательного элемента.
В цикле for происходит перебор всех элементов массива. Если элемент arr[i] является отрицательным и он больше текущего значения maxNeg, то значение maxNeg обновляется на arr[i]. В конце цикла выводится результат: если значение maxNeg не изменилось (т.е. осталось равным -MaxInt), то выводится сообщение, что в массиве нет отрицательных элементов. В противном случае выводится наибольший отрицательный элемент.
Обратите внимание, что код использует функцию Random, чтобы заполнить массив arr случайными числами. Для его работы необходимо включить модуль SysUtils, который содержит необходимые функции (IntToStr, ShowMessage) и объявления типов (Integer).