Массив: Найти среднее арифметическое первых подряд идущих положительных элементов массива... - 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.
Объяснение кода листинга программы
- Объявляется массив a типа real размером n.
- В цикле for формируются значения элементов массива a.
- Выводится значение каждого элемента массива a.
- Переменная i инициализируется значением 2.
- Цикл while проверяет, есть ли в массиве подряд идущие положительные элементы.
- Если таких элементов нет, выводится сообщение об этом.
- Если такие элементы есть, то:
- Переменная s инициализируется значением первого положительного элемента массива a.
- Переменная j инициализируется значением i+1.
- Цикл while считает сумму положительных элементов массива a.
- Цикл while увеличивает значение j на единицу.
- Переменная s делится на (j-i-1), т.е. на количество положительных элементов массива a, и выводится результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д