Найти среднее арифметическое значение положительных элементов массива - Turbo Pascal
Формулировка задачи:
Дан вещественный массив А[4][3]. Найти среднее арифметическое значение положительных элементов массива А. Вывести результат на экран.
Решение задачи: «Найти среднее арифметическое значение положительных элементов массива»
textual
Листинг программы
uses crt;
const m=4;
n=3;
var a:array[1..m,1..n]of real;
i,j,k:byte;
sr:real;
begin
clrscr;
randomize;
sr:=0;
k:=0;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=-10+21*random;
write(a[i,j]:6:2);
if a[i,j]>0 then
begin
k:=k+1;
sr:=sr+a[i,j];
end;
end;
writeln;
end;
if k=0 then write('Положительных элементов нет')
else
begin
sr:=sr/k;
write('Среднее положительных=',sr:0:2);
end;
readln
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с числовыми типами данных.
- Затем определяются две константы m и n, которые задают количество элементов в массиве и количество измерений массива соответственно.
- Далее объявляется переменная a типа array[1..m,1..n]of real, которая представляет собой массив из m строк по n элементов каждая.
- Также объявляются три переменные типа byte: i, j и k. Они будут использоваться для индексации элементов массива.
- Затем с помощью функции randomize производится инициализация генератора случайных чисел.
- Следующий блок begin-end используется для итерации по строкам массива.
- Внутри первой вложенной структуры for i:=1 до m do происходит итерация по элементам массива a в строке i.
- Для каждого элемента j:=1 до n выполняется следующая вложенная структура for.
- Внутри этой структуры вычисляется значение a[i,j] с помощью выражения a[i,j]:=-10+21*random, где random — случайное число, сгенерированное ранее.
- Значение a[i,j] записывается в консоль с помощью функции write.
- Если значение a[i,j] положительное, то увеличивается счетчик k и сумма sr инициализируется значением a[i,j].
- После окончания вложенной структуры for j происходит проверка значения k.
- Если k равно нулю, то выводится сообщение
Положительных элементов нет. - В противном случае вычисляется среднее значение sr с помощью формулы sr=sr/k.
- Значение sr записывается в консоль с помощью функции write.
- Конец блока begin-end.
- Выполняется функция readln для ожидания ввода пользователя.
- Конец программы.