Предмет: Информатика,
автор: bobbygrenn
Подскажите алгоритм нахождения первого минимального и последнего максимального элемента одномерного массива С++
Пример : arrey[0,1,0,3,9,3,4,9] нужно вывести первый 0 и последнюю 9
eugene7870:
а вот какие условия нужны подумай сам\
ой
шо я написал
дурная голова
две переменные под максимум и минимум, которые равны нулевому элементу массива, а затем цикл и в нем сравнение каждого элемента с максимумом и минимумом
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];
}
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];
}
с данным алгоритмом выводит первый мин и первый мах
все разобрался СПАСИБО! нужно при поиске max элемента поставить a[i]>=max
Да не, должно и просто со знаком > работать
при строгом равенстве он берет первый мах так как когда он нашёл первое макс число он его записывает и в дальнейшем принахождении этого же числа условие спрашивает 9>9 нет не больше и оставляет первое макс число
Ответы
Автор ответа:
1
Я понял вашу проблему.
Вот мое решение, что-бы найти первое минимальное, я использую стандартный алгоритм.
А вот что-бы найти последнее максимальное, я ещё к мешьше прибавляю равно, что-бы если мне встретилось ещё раз это число, то оно заново записалось в переменную мах.
UPD:
Добавил ещё решение через позиции, оно наглядно показывает работоспособность алгоритма. Рекомендую использовать его.
Вот мое решение, что-бы найти первое минимальное, я использую стандартный алгоритм.
А вот что-бы найти последнее максимальное, я ещё к мешьше прибавляю равно, что-бы если мне встретилось ещё раз это число, то оно заново записалось в переменную мах.
UPD:
Добавил ещё решение через позиции, оно наглядно показывает работоспособность алгоритма. Рекомендую использовать его.
Приложения:
Я также решил)
Похожие вопросы
Предмет: Қазақ тiлi,
автор: ziyabekinkar06
Предмет: Алгебра,
автор: Pavlivigorpavlivigor
Предмет: Математика,
автор: ytbenkler
Предмет: Математика,
автор: polina18466