Найти среднее арифметическое значение положительных элементов массива - 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.

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

  1. В начале кода подключается библиотека crt, которая используется для работы с числовыми типами данных.
  2. Затем определяются две константы m и n, которые задают количество элементов в массиве и количество измерений массива соответственно.
  3. Далее объявляется переменная a типа array[1..m,1..n]of real, которая представляет собой массив из m строк по n элементов каждая.
  4. Также объявляются три переменные типа byte: i, j и k. Они будут использоваться для индексации элементов массива.
  5. Затем с помощью функции randomize производится инициализация генератора случайных чисел.
  6. Следующий блок begin-end используется для итерации по строкам массива.
  7. Внутри первой вложенной структуры for i:=1 до m do происходит итерация по элементам массива a в строке i.
  8. Для каждого элемента j:=1 до n выполняется следующая вложенная структура for.
  9. Внутри этой структуры вычисляется значение a[i,j] с помощью выражения a[i,j]:=-10+21*random, где random — случайное число, сгенерированное ранее.
  10. Значение a[i,j] записывается в консоль с помощью функции write.
  11. Если значение a[i,j] положительное, то увеличивается счетчик k и сумма sr инициализируется значением a[i,j].
  12. После окончания вложенной структуры for j происходит проверка значения k.
  13. Если k равно нулю, то выводится сообщение Положительных элементов нет.
  14. В противном случае вычисляется среднее значение sr с помощью формулы sr=sr/k.
  15. Значение sr записывается в консоль с помощью функции write.
  16. Конец блока begin-end.
  17. Выполняется функция readln для ожидания ввода пользователя.
  18. Конец программы.

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

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