Как посчитать количество отрицательных чисел в массиве
Перейти к содержимому

Как посчитать количество отрицательных чисел в массиве

  • автор:

Подсчитать количество отрицательных элементов массива

Author24 — интернет-сервис помощи студентам

11. Подсчитать количество отрицательных элементов массива. Вывести на дисплей полученное значение.

Лучшие ответы ( 1 )

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

Ответы с готовыми решениями:

Подсчитать количество отрицательных элементов массива
Создайте массив А с элементами от -10 до 10 и выведите его на экран. Подсчитайте количество.

Подсчитать количество отрицательных элементов массива
создайте массив A с помощью генератора случайных чисел с элементами от -10 до 10 и выведите его на.

Подсчитать количество отрицательных и положительных элементов массива
Подскажите с массивами. Задача такая: Подсчитать количество отрицательных и положительных элементов.

Найти сумму отрицательных элементов массива и подсчитать их количество
нуждаюсь в Вашей помощи. задание звучит так. Найти сумму отрицательных элементов массива x и.

Количества отрицательных и положительных элементов в массиве

В заданном массиве чисел найти (посчитать) количество положительных и количество отрицательных элементов.

Например, задан массив целых чисел [10, -5, 3, 2, 0, -1, 8, 0, 10, 3]. В нем 6 положительных и 2 отрицательных элемента (нули ни к тем, ни к другим не относятся).

Для решения данной задачи введем две переменные ( pos и neg ) для подсчета количества соответственно положительных и отрицательных элементов массива.

Будем проверять очередной элемент-число в том же цикле, в котором массив заполняется. Если элемент меньше нуля, значит будем увеличивать на 1 переменную neg . Иначе, если элемент больше нуля, будем увеличивать pos . Мы не можем опустить проверку на положительность (которая идет второй), ведь число может оказаться равным нулю, и в таком случае никакую переменную-счетчик увеличивать не надо.

После завершения цикла остается только вывести на экран значения переменных pos и neg , которые содержат количества положительных и отрицательных элементов массива.

Исходный код программы поиска количества положительных и отрицательных элементов массива на языке Pascal:

const N = 10; var a: array[1..N] of integer; i, pos, neg: byte; begin randomize; pos := 0; neg := 0; for i := 1 to N do begin a[i] := random(7) - 3; write(a[i], ' '); if a[i] < 0 then neg := neg + 1 else if a[i] >0 then pos := pos + 1; end; writeln; writeln('Положительных: ', pos); writeln('Отрицательных: ', neg); end.
3 1 -3 -3 -1 1 0 0 2 -2 Положительных: 4 Отрицательных: 4

Найти количество отрицательных чисел [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 2 года назад .
Есть такое задание:

Запросить ввод k чисел. Вводить можно отрицательные, положительные числа, ноль. Числа могут повторяться. Найти количество отрицательных чисел среди вводимых. Вывести ответ с пояснением.

В программе используется оператор цикла for , оператор проверки условия if .
Вот код, до которого я дошел:

k = int(input('Введите любое число ')) a = 0 for k in range(k, 1): if k < 0: print(k) 

Как посчитать количество отрицательных чисел в массиве

Нужно получить следующие значения (всего на листе около 1000 ячеек):
1. Количество ячеек с отрицательными числами.
2. Сумму всех отрицательных чисел.

3. Количество ячеек с положительными числами.
4. Сумму всех положительных чисел.

Как это сделать, не пойму. справку читал, не помогло.

Пользователь
Сообщений: 47199 Регистрация: 15.09.2012
24.09.2008 09:07:29
=СЧЁТЕСЛИ(L3:L11;"<0")
=СУММЕСЛИ(L3:L10;"<0")
=СЧЁТЕСЛИ(L3:L11;">0")
=СУММЕСЛИ(L3:L10;">0")
24.09.2008 10:08:36

=СЧЁТЕСЛИ(L3:L11;"<0")
=СУММЕСЛИ(L3:L10;"<0")
=СЧЁТЕСЛИ(L3:L11;">0")
=СУММЕСЛИ(L3:L10;">0")

vikttur, спасибо за ответ, но у меня проблема еще в том, что значения разбросаны по листу - примерно так:
P15:Q15;D26:E26;J37:K37;D49:E49;D59:E59;M70:N70;D81:E81;G92:H92;P103:Q103;D114:E114;G125:H125;M136:N136;D147:E147;G158:H158;P169:Q169
поэтому предложенное Вами решение выдает ошибку "слишком много аргументов". Как тут быть?

24.09.2008 10:28:52
Ни разу не встречал такую ошибку. Если можно выложите файл.
Пользователь
Сообщений: 495 Регистрация: 09.01.2013
24.09.2008 11:29:47

=СЧЁТЕСЛИ(L3:L11;"<0")
=СУММЕСЛИ(L3:L10;"<0")
=СЧЁТЕСЛИ(L3:L11;">0")
=СУММЕСЛИ(L3:L10;">0")

vikttur, спасибо за ответ, но у меня проблема еще в том, что значения разбросаны по листу - примерно так:
P15:Q15;D26:E26;J37:K37;D49:E49;D59:E59;M70:N70;D81:E81;G92:H92;P103:Q103;D114:E114;G125:H125;M136:N136;D147:E147;G158:H158;P169:Q169
поэтому предложенное Вами решение выдает ошибку "слишком много аргументов". Как тут быть?

Если нет возможности выделить все значения меньшим количеством блоков, то разбейте их на 2 (или больше при необходимости) одинаковые функции:
=СЧЁТЕСЛИ(1-ая половина значений;"<0")+СЧЁТЕСЛИ(2-ая половина значений;"<0")

Пользователь
Сообщений: 182 Регистрация: 01.01.1970
24.09.2008 11:52:39
Имхо, намного проще создать именованый диапазон - и для формул гут, и глаз радует:)
24.09.2008 12:04:28


Если нет возможности выделить все значения меньшим количеством блоков, то разбейте их на 2 (или больше при необходимости) одинаковые функции:
=СЧЁТЕСЛИ(1-ая половина значений;"<0")+СЧЁТЕСЛИ(2-ая половина значений;"<0")

У меня все блоки (это то, что разделено ":" ?) состоят из 2х ячеек только, как в приведенном примере.
Ну вот, например, из моего примера значений пытаюсь вставить первую пару
=СЧЁТЕСЛИ(P15:Q15; "<0") -- так работает
а если
=СЧЁТЕСЛИ(P15:Q15;D26:E26; "<0") -- та же ошибка "для данной функции введено Слишком много аргументов",
получается мне для каждой пары ячеек нужно =СЧЁТЕСЛИ и все суммировать?
Дело в том, что у меня уже есть ячейка с суммой всех чисел =СУММ(P15:Q15;D26:E26;. P600:Q600), можно ли как-то из строки P15:Q15;D26:E26;. P600:Q600 сразу посчитать нужные мне результаты не разбивая по парам в ручную?

Или если я чего-то не понял, прошу заранее простить, с экселем почти не знаком.

24.09.2008 12:05:53

Имхо, намного проще создать именованый диапазон - и для формул гут, и глаз радует:)
А это например как?

Пользователь
Сообщений: 732 Регистрация: 01.01.1970
24.09.2008 12:11:50

Функция =счетесли(. ) принимает только два аргумента: непрерывный диапазон и условие. Даже если именованным диапазоном сделать несколько отдельно стоящих ячеек, а имя ввести аргументом в функцию, работать не будет.
Предлагаю вариант решения с вездесущей =суммпроизв(…).
С уважением, Александр.

Прикрепленные файлы

  • post_32037.xls (13.5 КБ)

24.09.2008 13:41:32

Функция =счетесли(. ) принимает только два аргумента: непрерывный диапазон и условие. Даже если именованным диапазоном сделать несколько отдельно стоящих ячеек, а имя ввести аргументом в функцию, работать не будет.
Предлагаю вариант решения с вездесущей =суммпроизв(…).
С уважением, Александр.

О! спасибо, это работает (правда только для первой части задачи). Но нереально вручную сотни значений вписывать в формулу :(.
Может можно как-то автоматически разбить строку вида P15:Q15;D26:E26;. P600:Q600 на отдельные значения и подставить в =суммпроизв?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *