Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 865 б
16 мая 2023 23:03
350
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных и отрицательных чисел. Программа получает на вход целые числа в интервале от -50 до 50, среди которых есть отрицательные и положительные числа. Количество чисел вводится с клавиатуры не превышает 1000. Программа должна вывести одно число: среднее арифметическое положительных и отрицательных чисел с точностью до одного знака после запятой. Если либо положительных, либо отрицательных чисел в последовательности нет, то программа должна вывести одно слово NO. Язык Паскаль.
1
ответ
Привет! Вот готовый код на языке Паскаль:
```
program Average;
var
num, countPos, countNeg, sumPos, sumNeg: integer;
avgPos, avgNeg: real;
begin
countPos := 0;
countNeg := 0;
sumPos := 0;
sumNeg := 0;
repeat
readln(num);
if num > 0 then
begin
countPos := countPos + 1;
sumPos := sumPos + num;
end
else if num < 0 then
begin
countNeg := countNeg + 1;
sumNeg := sumNeg + num;
end;
until num = 0;
if (countPos = 0) or (countNeg = 0) then
writeln('NO')
else
begin
avgPos := sumPos / countPos;
avgNeg := sumNeg / countNeg;
writeln('Average of positive numbers: ', avgPos:0:1);
writeln('Average of negative numbers: ', avgNeg:0:1);
end;
end.
```
Здесь мы используем переменные `countPos` и `countNeg`, чтобы подсчитать количество положительных и отрицательных чисел соответственно, и переменные `sumPos` и `sumNeg`, чтобы найти сумму положительных и отрицательных чисел соответственно. Затем мы используем эти значения, чтобы вычислить среднее арифметическое чисел каждого типа и выводим результаты. Если в последовательности нет положительных или отрицательных чисел, мы выводим "NO".
```
program Average;
var
num, countPos, countNeg, sumPos, sumNeg: integer;
avgPos, avgNeg: real;
begin
countPos := 0;
countNeg := 0;
sumPos := 0;
sumNeg := 0;
repeat
readln(num);
if num > 0 then
begin
countPos := countPos + 1;
sumPos := sumPos + num;
end
else if num < 0 then
begin
countNeg := countNeg + 1;
sumNeg := sumNeg + num;
end;
until num = 0;
if (countPos = 0) or (countNeg = 0) then
writeln('NO')
else
begin
avgPos := sumPos / countPos;
avgNeg := sumNeg / countNeg;
writeln('Average of positive numbers: ', avgPos:0:1);
writeln('Average of negative numbers: ', avgNeg:0:1);
end;
end.
```
Здесь мы используем переменные `countPos` и `countNeg`, чтобы подсчитать количество положительных и отрицательных чисел соответственно, и переменные `sumPos` и `sumNeg`, чтобы найти сумму положительных и отрицательных чисел соответственно. Затем мы используем эти значения, чтобы вычислить среднее арифметическое чисел каждого типа и выводим результаты. Если в последовательности нет положительных или отрицательных чисел, мы выводим "NO".
0
·
Хороший ответ
16 мая 2023 23:06
Остались вопросы?
Еще вопросы по категории Информатика
Переведите число А2 из шестнадцатеричной системы счисления в десятичную систему счисления.Ответ и метод решения обязательно!...
Найти значение у= 5х 2 -10х+2 Значение х вводится с клавиатуры....
Положение курсора в слове с ошибкой отмечено чертой: ДИАГРАММ|МА. Чтобы исправить ошибку, следует нажать клавишу: а) Delete б) Backspace в) Delete и...
В информационной системе хранятся изображения размером 1024×768 пикселей. При кодировании используется алгоритм сжатия изображений, позволяющий уменьш...
ПОСТФИКСНАЯ И ПРЕФИКСНАЯ ФОРМА...