Найти среднее арифметическое положительных элементов матрицы - Pascal
Формулировка задачи:
Дается двумерный массив R[1..n, 1..m], n, m <= 12. Найти и вывести на экран средний положительный элемент с помощью процедур.
Помогите пожалуйста. Pascal ABC.
Решение задачи: «Найти среднее арифметическое положительных элементов матрицы»
textual
Листинг программы
function FAVR(const ar: TArray; const n, m: TRange): Real; var i, j: TRange; begin Result := 0; for i := Low(TRange) to n do //for i := 1 to n do for j := Low(TRange) to m do //for j := 1 to m do if (ar[i, j] > 0) then Result := Result + ar[i, j]; Result := Result / n / m; end;
Объяснение кода листинга программы
- Объявляется функция
FAVRс параметрами:ar- массив,nиm- размерности массива типаTRange - Определяются переменные
iиjтипаTRangeдля циклов - Устанавливается значение переменной
Resultравным 0 - Начинается вложенный цикл с переменной
iот нижнего пределаLow(TRange)доn - Внутри второго цикла с переменной
jот нижнего пределаLow(TRange)доmпроверяется, если элемент массиваarс координатами [i, j] больше 0, то прибавляется к переменнойResultзначение этого элемента - После завершения циклов вычисляется среднее арифметическое положительных элементов:
Resultделится на произведениеnиm - Полученное значение среднего арифметического записывается в переменную
Result - Функция завершается, возвращая вычисленное среднее арифметическое значение