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

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

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

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

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

textual
Листинг программы
const n=4;
var a:array[1..n,1..n] of integer;
    i,j,k1,k2:integer;
    s1,s2:real;
begin
randomize;
s1:=0;
s2:=0;
k1:=0;
k2:=0;
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-20+random(41);
    write(a[i,j]:4);
    if i mod 2=0 then
     begin
      s1:=s1+a[i,j];
      k1:=k1+1;
     end;
    if a[i,j]>0 then
     begin
      s2:=s2+a[i,j];
      k2:=k2+1;
     end;
   end;
  writeln;
 end;
s1:=s1/k1;
writeln('Среднее арифметическое элементов в четных строках s1=',s1:0:2);
if k2=0 then
 begin
  write('Положительных элементов нет');
  readln;
  exit;
 end;
s2:=s2/k2;
writeln('Среднее арифметическое положительных элементов s2=',s2:0:2);
if s1>s2 then writeln('s1 больше')
else if s2>s1 then writeln('s2 больше')
else writeln(s1=s2);
readln
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
Похожие ответы