Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
16 мая 2023 22:39
312
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных и отрицательных чисел. Программа получает на вход целые числа в интервале от -50 до 50, среди которых есть отрицательные и положительные числа. Количество чисел вводится с клавиатуры не превышает 1000. Программа должна вывести одно число: среднее арифметическое положительных и отрицательных чисел с точностью до одного знака после запятой. Если либо положительных, либо отрицательных чисел в последовательности нет, то программа должна вывести одно слово NO.
1
ответ
Вот код на языке Python, который решает данную задачу:
```python
n = int(input()) # количество чисел
sum_pos = 0 # сумма положительных чисел
count_pos = 0 # количество положительных чисел
sum_neg = 0 # сумма отрицательных чисел
count_neg = 0 # количество отрицательных чисел
for i in range(n):
num = int(input())
if num > 0:
sum_pos += num
count_pos += 1
elif num < 0:
sum_neg += num
count_neg += 1
if count_pos == 0 and count_neg == 0:
print("NO")
else:
avg_pos = sum_pos / count_pos if count_pos > 0 else 0
avg_neg = sum_neg / count_neg if count_neg > 0 else 0
print("{:.1f}".format((avg_pos + avg_neg) / 2))
```
Сначала мы считываем количество чисел `n`. Затем мы инициализируем переменные `sum_pos`, `count_pos`, `sum_neg` и `count_neg` нулями. Эти переменные будут использоваться для подсчета суммы и количества положительных и отрицательных чисел.
Затем мы запускаем цикл `for`, который проходит по всем числам в последовательности. Если число положительное, мы добавляем его к сумме положительных чисел `sum_pos` и увеличиваем количество положительных чисел `count_pos` на единицу. Если число отрицательное, мы добавляем его к сумме отрицательных чисел `sum_neg` и увеличиваем количество отрицательных чисел `count_neg` на единицу.
После цикла мы проверяем, есть ли в последовательности положительные или отрицательные числа. Если оба количества равны нулю, мы выводим слово "NO". В противном случае мы вычисляем среднее арифметическое положительных чисел `avg_pos` и отрицательных чисел `avg_neg`, используя формулу `sum / count` (если `count` больше нуля) или нуль (если `count` равен нулю). Затем мы выводим среднее арифметическое положительных и отрицательных чисел, деленное на два, с точностью до одного знака после запятой, используя функцию `format`.
Например, если мы введем следующие данные:
```
5
-10
20
-30
40
50
```
то программа выведет:
```
10.0
```
```python
n = int(input()) # количество чисел
sum_pos = 0 # сумма положительных чисел
count_pos = 0 # количество положительных чисел
sum_neg = 0 # сумма отрицательных чисел
count_neg = 0 # количество отрицательных чисел
for i in range(n):
num = int(input())
if num > 0:
sum_pos += num
count_pos += 1
elif num < 0:
sum_neg += num
count_neg += 1
if count_pos == 0 and count_neg == 0:
print("NO")
else:
avg_pos = sum_pos / count_pos if count_pos > 0 else 0
avg_neg = sum_neg / count_neg if count_neg > 0 else 0
print("{:.1f}".format((avg_pos + avg_neg) / 2))
```
Сначала мы считываем количество чисел `n`. Затем мы инициализируем переменные `sum_pos`, `count_pos`, `sum_neg` и `count_neg` нулями. Эти переменные будут использоваться для подсчета суммы и количества положительных и отрицательных чисел.
Затем мы запускаем цикл `for`, который проходит по всем числам в последовательности. Если число положительное, мы добавляем его к сумме положительных чисел `sum_pos` и увеличиваем количество положительных чисел `count_pos` на единицу. Если число отрицательное, мы добавляем его к сумме отрицательных чисел `sum_neg` и увеличиваем количество отрицательных чисел `count_neg` на единицу.
После цикла мы проверяем, есть ли в последовательности положительные или отрицательные числа. Если оба количества равны нулю, мы выводим слово "NO". В противном случае мы вычисляем среднее арифметическое положительных чисел `avg_pos` и отрицательных чисел `avg_neg`, используя формулу `sum / count` (если `count` больше нуля) или нуль (если `count` равен нулю). Затем мы выводим среднее арифметическое положительных и отрицательных чисел, деленное на два, с точностью до одного знака после запятой, используя функцию `format`.
Например, если мы введем следующие данные:
```
5
-10
20
-30
40
50
```
то программа выведет:
```
10.0
```
0
·
Хороший ответ
16 мая 2023 22:42
Остались вопросы?
Еще вопросы по категории Информатика
Каких правил следует придерживаться при оформлении таблиц?...
Отметь лишнее. рычание льва, мычание коровы, вкус хлеба, шелест листьев, журнале ручья. ответ...
Среди проведенных ниже трех чисел, записанных в различных системах счисления, найдите наибольшее и запишите его в ответе в семеричной системе счислени...
Вывести на экран случайное число от 30до 50...
Недавно Влад победил на олимпиаде и выиграл современный квадрокоптер — дрон. Влад прикрутил к квадрокоптеру камеру, поднял его в воздух и начал фотогр...