Найти сумму положительных элементов массива и среднее арифметическое отрицательных - Turbo Pascal
Формулировка задачи:
Дан массив А(20), найти сумму положительных элементов массива и среднее арифметическое отрицательных.
Решение задачи: «Найти сумму положительных элементов массива и среднее арифметическое отрицательных»
textual
Листинг программы
var i, s, count: integer; aver : integer; a: array[1 .. 20] of integer; begin randomize; for i := 1 to 20 do begin a[i] := random(100) - 50; write(a[i]:4); end; writeln; for i := 1 to 20 do if a[i] > 0 then s := s + a[i] else begin inc(count); aver := aver + a[i]; end; writeln('Сумма положительных элементов = ', s); if count > 0 then writeln('Среднее арифметическое отрицательных = ', aver/count:0:3) else writeln('В массиве нет отрицательных элементов'); readln; end.
Объяснение кода листинга программы
- Создается переменная
a
типаarray[1..20] of integer
, которая будет хранить массив из 20 целых чисел. - Функция
randomize
используется для инициализации генератора случайных чисел. - В цикле
for
сi
от 1 до 20 вычисляется случайное число в диапазоне от 1 до 100 и присваивается переменнойa[i]
. - Выводится значение каждого элемента массива с помощью функции
write(a[i]:4)
. - После вывода всех элементов массива выводится символ новой строки (
writeln
). - В следующем цикле
for
сi
от 1 до 20 проверяется значение каждого элемента массива. - Если элемент положительный, то к переменной
s
прибавляется его значение. - Если элемент отрицательный, то увеличивается счетчик
count
, а переменнаяaver
суммируется с текущим значением элемента. - После проверки всех элементов массива выводится сообщение о сумме положительных элементов и среднем арифметическом отрицательных (если они есть).
- Если счетчик
count
больше нуля, то выводится среднее арифметическое с помощью формулы(aver/count:0:3)
. - Если в массиве нет отрицательных элементов, выводится сообщение об этом.
- Цикл
readln
используется для чтения пользовательского ввода до тех пор, пока он не будет равен нулю.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д