2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
||||||
1 | ||||||
Найти минимальный элемент среди положительных14.01.2018, 14:16. Показов 6672. Ответов 12
Метки нет (Все метки)
У меня код начинает искать минимальное значение только, если количество положительных не равно нулю, но он ищет среди всех элементов. Как сделать, чтобы искал только среди положительных?
0
|
14.01.2018, 14:16 | |
Ответы с готовыми решениями:
12
Найти минимальный элемент среди положительных элементов Найти минимальный элемент среди положительных чисел Найти среди положительных элементов минимальный элемент и его индекс Найти минимальный элемент среди положительных чисел в массивах (методом) |
152 / 149 / 103
Регистрация: 30.10.2016
Сообщений: 314
|
|
14.01.2018, 15:26 | 2 |
Samsun, положительное число не равное нулю, это все, что больше 0, верно?
Тогда есть смысл попробовать задать условие: if (p > 0) {} Добавлено через 15 минут Найти минимальный элемент среди положительных чисел
0
|
2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
|
14.01.2018, 15:31 [ТС] | 3 |
p - это просто количество положительных элементов
0
|
152 / 149 / 103
Регистрация: 30.10.2016
Сообщений: 314
|
|
14.01.2018, 15:34 | 4 |
Ок,
if (A[i] > 0) {} , логическую суть это не меняет.Смотрите решение по ссылке выше.
0
|
17790 / 12941 / 3381
Регистрация: 17.09.2011
Сообщений: 21,215
|
|
14.01.2018, 15:36 | 5 |
Сможете объяснить, что делают эти строчки?
Почему вы считаете что они делают то, что вы думаете? У меня есть пачка картинок с числами. Вы не видите эти картинки. Я прошу вас найти минимальное положительное число и начинаю показывать картинки по одной. Как бы вы нашли минимальное число в таких условиях? Сможете выразить это решение в коде?
1
|
2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
|
14.01.2018, 15:56 [ТС] | 6 |
kolorotur, Эта часть моего кода ищет минимальный элемент кода, но делать он это начинает только, если количество положительных элементов не равно 0. Если = 0, то он просто пишет, что положительных нет и тогда ничего не ищет
Но ищет он среди всех, а мне надо, чтобы только среди положительных
0
|
17790 / 12941 / 3381
Регистрация: 17.09.2011
Сообщений: 21,215
|
|
14.01.2018, 16:36 | 7 |
Она его ищет количество раз, равное количеству элементов в массиве.
Это так задумано? Решение такое же, как в предложенной мной выше задаче (на которую вы решили не отвечать). Допустим, у массива вообще нет метода Min для нахождения минимального числа.Как бы вы его искали в таком случае?
0
|
2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
|
14.01.2018, 16:39 [ТС] | 8 |
kolorotur, вот то что он ищет столько же раз, сколько и и элементов это не задумано. Я потом исправлю
0
|
152 / 149 / 103
Регистрация: 30.10.2016
Сообщений: 314
|
|||||||||||
14.01.2018, 17:24 | 9 | ||||||||||
Samsun, если опустить момент
то, чтобы приблизиться к правильному решению, я бы попробовал использовать конструкцию
if ... else
int minValue = A.Min<int>(); не ищет минимальный элемент среди положительных, она ищет просто минимальный элемент среди всех элементов массива.Также строку Console.WriteLine("Минимальный элемент среди положительных: {0}", minValue); необходимо опустить ниже for , иначе эта строка будет выведена столько раз, сколько элементов в вашем массиве.Предположим, что у нас есть некая переменная minValue , которой присвоено максимальное значение. Тогда, чтобы найти решение задачи, нам нужно сравнивать значение этой переменной со всеми элементами значение которых > 0. И если значение какого-нибудь из этих элементов будет меньше значения minValue , мы присваиваем это значение переменной minValue и т.д.Кликните здесь для просмотра всего текста
0
|
2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
||||||
14.01.2018, 20:07 [ТС] | 10 | |||||
willow300, спасибо огромное!!
Всё понятно теперь Добавлено через 8 минут willow300, а вот если среднее значение надо найти среди положительных, то как? Тоже поняла только, как среди всех
0
|
152 / 149 / 103
Регистрация: 30.10.2016
Сообщений: 314
|
||||||
14.01.2018, 20:29 | 11 | |||||
Сообщение было отмечено Samsun как решение
Решение
Samsun,
double sr = (double) sum / A.Length; - здесь ошибка, вы делите на количество элементов массива A.Length , а необходимо, на количество положительных элементов p .Т.е. задаем условие, если значение элемента > 0 if (A[i] > 0) , то мы его его суммируем. Итоговую сумму делим на количество положительных элементов. Если усовершенствовать ваш пример, то выйдет что-то вроде этого:
1
|
14.01.2018, 20:44 | 12 | |||||
Найти минимальный элемент среди положительных
using System.Linq; Добавлено через 30 секунд Unhandled Exception: System.NullReferenceException: result: 4 Добавлено через 2 минуты average
0
|
2 / 12 / 0
Регистрация: 12.01.2018
Сообщений: 73
|
|
14.01.2018, 20:44 [ТС] | 13 |
willow300, точно. Я и не обратила внимание
Спасибо за помощь))
0
|
14.01.2018, 20:44 | |
14.01.2018, 20:44 | |
Помогаю со студенческими работами здесь
13
В вещественных массивах найти среди положительных элементов минимальный элемент и его индекс Максимальный среди отрицательных и минимальный среди положительных элемент в массиве System Array Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами. Найти минимальный элемент среди элементов, расположенных на четных позициях массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |