Подпрограммы: разделить каждый из элементов массива на его максимальный отрицательный элемент - 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;

Объяснение кода листинга программы

В данном коде реализован алгоритм поиска максимального отрицательного числа в массиве. Алгоритм работает следующим образом:

  1. Инициализируем переменную max значением 2.9e-39 (наименьшее возможное значение типа real).
  2. Инициализируем результат функции значением 0.
  3. Проходим по всем элементам массива.
  4. Если текущий элемент отрицательный и больше чем значение переменной max, то обновляем значение max на текущий элемент.
  5. Обновляем результат функции на значение max.
  6. Возвращаем результат функции.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы