Как посчитать количество отрицательных чисел в массиве
Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль
| Поиск по форуму |
| Расширенный поиск |
| К странице. |

Добрый вечер, помогите исправить ошибку, не понимаю в чем суть
Написать пользовательскую функцию, решающую указанную ниже задачу. Массивы А и В динамические, выделение памяти выполнить функциями calloc() или malloc(), обращение к элементам массива только через указатель.
Предусмотреть реакцию программы на ситуации, при которых задача не имеет решения.
Заданы два массива А(M) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий наибольшее их количество.
и подскажите массив объявлять все таки через int или double ?
подсчет отрицательных чисел в массиве
Я пытаюсь найти количество отрицательных чисел в 2d-массиве (square-matix). В матрице, если вы идете сверху вниз и налево, чтобы написать число увеличивается. Логика здесь должна начинаться с последнего столбца и идти налево. Если вы найдете отрицательный номер, увеличьте индекс строки и продолжайте в том же духе до последней строки. Я получаю сообщение об ошибке в коде Java, но не в Python.
Я получаю этот вывод
Что не так с этим кодом? то же самое работало в питоне .
4 ответа
Ваши индексы обращены от версии Python:
Для версии Java:
Если вы используете Java8, вы можете использовать потоки для реализации count_neg:
Я бы написал такой метод, просто пройдите через 2d массив и увеличивайте count каждый раз, когда обнаруживается отрицательное число
Прежде всего ваш алгоритм не находит количество отрицательных чисел.
Вот результаты кода Python:
print(count_neg([[1, 1, -1],[1, 1, -1],[1, 1, -1]])) результат — 9
print(count_neg([[1, 1, -1],[1, 1, 1],[1, 1, 1]])) результат — 3
Таким образом, предоставленный код находит сумму индексов столбцов + 1 для некоторых отрицательных чисел, а не для всех. И для ваших тестовых массивов это возвращает псевдо-правильные значения.
Вот правильный код в Java, который делает это:
Здесь небольшое изменение в алгоритмах для получения правильного результата со столбцами, которые не содержат отрицательных чисел:
Вы можете проверить это с помощью следующего массива [[1,2,4,5],[-2,-2,1,2],[-1,1,2,3],[1,2,4,5]]
Дан массив действительных чисел из N членов подсчитать сколько в нем отрицательных, положительных и нулевых элементов [закрыт]
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу
Закрыт 2 года назад .
Дан массив действительных чисел из N членов подсчитать сколько в нем отрицательных, положительных и нулевых элементов