Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
16 мая 2023 23:03
550
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных и отрицательных чисел. Программа получает на вход целые числа в интервале от -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
Остались вопросы?
Еще вопросы по категории Информатика
Музыкальный фрагмент был оцифрован и записан в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за...
Дано натуральное число. Выведите его последнюю цифру. Входные данные Вводится натуральное число. Выходные данные Выведите ответ на задачу. Яз...
1. Программы, которые управляют оперативной памятью, процессором, внешними устройствами и которые обеспечивают возможность работы других программ, наз...
информационное сообщение объемом 650 битов состоит из 130 символов.каков информационный вес каждого символа этого сообщения?...
Абсолютной ссылкой является: 1. $K$11 2. %K11 3. B11 4. T&&11...