Подпрограммы: разделить каждый из элементов массива на его максимальный отрицательный элемент - Pascal
Формулировка задачи:
Ввести одномерные массивы X1(n1), X2(n2) и X3(n3) . Разделить каждый из элементов на максимальный элемент среди отрицательных элементов соответствующего массива. Массивы вывести на экран до и после преобразования (или сообщение о невозможности преобразования). (При решении реализовать процедуры ввода и вывода массивов: Vvod1m(A,N,Name) и Vivod1m(A,N,Name); функцию MaxOtr(A,N):<тип массива> – максимум среди отрицательных, которая равна нулю если отрицательных нет; и процедуру Delenie(A,N,Chislo) – деление элементов массива на значением Chislo)
Решение задачи: «Подпрограммы: разделить каждый из элементов массива на его максимальный отрицательный элемент»
textual
Листинг программы
function MaxOtr(a:Tmas; n:byte):real; var i : byte; max : real; begin max := 2.9e-39; {применяем самое минимальное из возможных REAL} MaxOtr := 0; {это если ни одного минимального мы не обнаружим} for i:=1 to n do if (a[i]<0) and (a[i]>max) then begin max := a[i]; {запоминаем макс из мин} MaxOtr := max; {когда функция завершится ее результатом будет} { самое последнее значение} end; end;
Объяснение кода листинга программы
В данном коде реализован алгоритм поиска максимального отрицательного числа в массиве. Алгоритм работает следующим образом:
- Инициализируем переменную
max
значением 2.9e-39 (наименьшее возможное значение типа real). - Инициализируем результат функции значением 0.
- Проходим по всем элементам массива.
- Если текущий элемент отрицательный и больше чем значение переменной
max
, то обновляем значениеmax
на текущий элемент. - Обновляем результат функции на значение
max
. - Возвращаем результат функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д