Массив: Найти среднее арифметическое первых подряд идущих положительных элементов массива... - Pascal ABC

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

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

найти среднее арифметическое первых подряд идущих положительных элементов массива (массив может быть случайно заполнен хотя бы десятью числами)!

Решение задачи: «Массив: Найти среднее арифметическое первых подряд идущих положительных элементов массива...»

textual
Листинг программы
var a:array[1..n] of real;
    i,j:integer;
    s:real;
begin
writeln('Массив');
for i:=1 to n do
 begin
  a[i]:=-5+10*random;
  write(a[i]:5:2);
 end;
writeln;
i:=2;
while (i<n)and((a[i-1]<=0)or(a[i]<=0))do inc(i);
if i=n then write('В массиве нет идущих подряд положительных элементов')
else
 begin
  s:=a[i];
  j:=i+1;
  while(j<=n)and(a[j]>0)do
   begin
    s:=s+a[i];
    inc(j);
   end;
   s:=s/(j-i-1);
  write('Среднее арифметическое первых положительных элементов идущих подряд=',s:0:2);
 end;
end.

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

  1. Объявляется массив a типа real размером n.
  2. В цикле for формируются значения элементов массива a.
  3. Выводится значение каждого элемента массива a.
  4. Переменная i инициализируется значением 2.
  5. Цикл while проверяет, есть ли в массиве подряд идущие положительные элементы.
  6. Если таких элементов нет, выводится сообщение об этом.
  7. Если такие элементы есть, то:
  8. Переменная s инициализируется значением первого положительного элемента массива a.
  9. Переменная j инициализируется значением i+1.
  10. Цикл while считает сумму положительных элементов массива a.
  11. Цикл while увеличивает значение j на единицу.
  12. Переменная s делится на (j-i-1), т.е. на количество положительных элементов массива a, и выводится результат.

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


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

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

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