Подскажите алгоритм нахождения первого минимального и последнего максимального элемента...

0 голосов
115 просмотров

Подскажите алгоритм нахождения первого минимального и последнего максимального элемента одномерного массива С++
Пример : arrey[0,1,0,3,9,3,4,9] нужно вывести первый 0 и последнюю 9


Информатика (137 баллов) | 115 просмотров
0

а вот какие условия нужны подумай сам\

0

ой

0

шо я написал

0

дурная голова

0

две переменные под максимум и минимум, которые равны нулевому элементу массива, а затем цикл и в нем сравнение каждого элемента с максимумом и минимумом

0

int min = a[0];int max = a[0]; for (int i = 1; i < n; i++){ if (a[i] < min) min = a[i];if (a[i] > max)max = a[i]; }

0

с данным алгоритмом выводит первый мин и первый мах

0

все разобрался СПАСИБО! нужно при поиске max элемента поставить a[i]>=max

0

Да не, должно и просто со знаком > работать

0

при строгом равенстве он берет первый мах так как когда он нашёл первое макс число он его записывает и в дальнейшем принахождении этого же числа условие спрашивает 9>9 нет не больше и оставляет первое макс число

Дан 1 ответ
0 голосов
Правильный ответ

Я понял вашу проблему.
Вот мое решение, что-бы найти первое минимальное, я использую стандартный алгоритм.
А вот что-бы найти последнее максимальное, я ещё к мешьше прибавляю равно, что-бы если мне встретилось ещё раз это число, то оно заново записалось в переменную мах.
UPD:
Добавил ещё решение через позиции, оно наглядно показывает работоспособность алгоритма. Рекомендую использовать его.


image
image
(1.5k баллов)
0

Я также решил)