Лучшие помощники
- Megamozg 2190 б
- Matalya1 1800 б
- DevAdmin 1695 б
- arkasha_bortnikov 860 б
- Dwayne_Johnson 845 б
16 мая 2023 23:03
273
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных и отрицательных чисел. Программа получает на вход целые числа в интервале от -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.двойным кликом на ячейку при вводе формулы 2.нажатием клавиши F4 3...
Постройте черно-белый рисунок шириной 8 пикселей, закодированный шестнадцатеричной последовательностью 2466FF6624. если можно пошагово...
Сделайте вот такую корону в кумире,прошу...
К операциям форматирования абзаца относятся: 1) выравнивание, межстрочный интервал, задание отступа. 2) начертание, размер, цвет, тип шрифта. 3) удал...
Что можно назвать базой данных? Записная книжка; Энциклопедия; Текст параграфа; Телефонный справочник; Помогите пожалуйста) Заранее спасибо))...
Все предметы