Предмет: Информатика, автор: bobbygrenn

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


eugene7870: а вот какие условия нужны подумай сам\
eugene7870: ой
eugene7870: шо я написал
eugene7870: дурная голова
eugene7870: две переменные под максимум и минимум, которые равны нулевому элементу массива, а затем цикл и в нем сравнение каждого элемента с максимумом и минимумом
bobbygrenn: 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];
}
bobbygrenn: с данным алгоритмом выводит первый мин и первый мах
bobbygrenn: все разобрался СПАСИБО! нужно при поиске max элемента поставить a[i]>=max
eugene7870: Да не, должно и просто со знаком > работать
bobbygrenn: при строгом равенстве он берет первый мах так как когда он нашёл первое макс число он его записывает и в дальнейшем принахождении этого же числа условие спрашивает 9>9 нет не больше и оставляет первое макс число

Ответы

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

bobbygrenn: Я также решил)
Похожие вопросы
Предмет: Алгебра, автор: Pavlivigorpavlivigor
Предмет: Математика, автор: polina18466