Среднее арифметическое элементов массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

дан массив 4х4 из целых чисел заполненный случайными числами из интервала [-20,20] .определить,что больше среднее арифметическое элементов массива стоящих в четных строках или среднее арифметическое положительных элементов всего массива.

Решение задачи: «Среднее арифметическое элементов массива»

textual
Листинг программы
  1. const n=4;
  2. var a:array[1..n,1..n] of integer;
  3.     i,j,k1,k2:integer;
  4.     s1,s2:real;
  5. begin
  6. randomize;
  7. s1:=0;
  8. s2:=0;
  9. k1:=0;
  10. k2:=0;
  11. for i:=1 to n do
  12.  begin
  13.   for j:=1 to n do
  14.    begin
  15.     a[i,j]:=-20+random(41);
  16.     write(a[i,j]:4);
  17.     if i mod 2=0 then
  18.      begin
  19.       s1:=s1+a[i,j];
  20.       k1:=k1+1;
  21.      end;
  22.     if a[i,j]>0 then
  23.      begin
  24.       s2:=s2+a[i,j];
  25.       k2:=k2+1;
  26.      end;
  27.    end;
  28.   writeln;
  29.  end;
  30. s1:=s1/k1;
  31. writeln('Среднее арифметическое элементов в четных строках s1=',s1:0:2);
  32. if k2=0 then
  33.  begin
  34.   write('Положительных элементов нет');
  35.   readln;
  36.   exit;
  37.  end;
  38. s2:=s2/k2;
  39. writeln('Среднее арифметическое положительных элементов s2=',s2:0:2);
  40. if s1>s2 then writeln('s1 больше')
  41. else if s2>s1 then writeln('s2 больше')
  42. else writeln(s1=s2);
  43. readln
  44. end.

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

  1. Объявляются константы и переменные: — n = 4 (размер массива); — a = array[1..n,1..n] of integer (массив размером n на n для хранения целых чисел); — i, j, k1, k2 = integer (переменные для управления циклами); — s1, s2 = real (переменные для хранения средних значений).
  2. Инициализируются случайные числа: — randomize (задание начального значения генератору случайных чисел); — a[i,j] = -20 + random(41) (генерация случайного числа от -20 до 20 для каждого элемента массива).
  3. Выводятся значения элементов массива: — write(a[i,j]:4) (вывод значения элемента с шагом 4).
  4. Вычисляются средние значения: — s1 = 0 (сумма элементов четных строк); — s2 = 0 (сумма положительных элементов); — k1 = 0 (количество четных строк); — k2 = 0 (количество положительных элементов).
  5. Циклы для суммирования значений: — for i:=1 to n do (обход строк массива); — for j:=1 to n do (обход столбцов массива); — if i mod 2 = 0 then (условие для четных строк); — if a[i,j] > 0 then (условие для положительных элементов).
  6. Выводится среднее значение четных строк: — s1 = s1 / k1 (вычисление среднего значения); — writeln('Среднее арифметическое элементов в четных строках s1=',s1:0:2) (вывод значения с округлением до двух знаков после запятой).
  7. Проверяется наличие положительных элементов: — if k2 = 0 then (условие для отсутствия положительных элементов); — if s1 > s2 then (условие для выбора большего значения).
  8. Выводится среднее значение положительных элементов: — s2 = s2 / k2 (вычисление среднего значения); — writeln('Среднее арифметическое положительных элементов s2=',s2:0:2) (вывод значения с округлением до двух знаков после запятой).
  9. Выводится сообщение о том, какое значение больше: — if s1 > s2 then writeln('s1 больше') (условие для выбора большего значения); — else if s2 > s1 then writeln('s2 больше') (условие для выбора большего значения); — else writeln(s1=s2) (вывод сообщения о равенстве значений).
  10. Завершение работы программы: — readln (ожидание нажатия клавиши для завершения работы программы).

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


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

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

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы