Подумайте, как будет работать алгоритм, если элементов с максимальным значением два. Индекс какого из них будет выведен? Как изменить программу, чтобы был выведен индекс другого? А если элементов с максимальных значением больше двух?
Если у Вас есть конкретный вопрос по блок-схеме, я постараюсь на него ответить. Кроме того, Вы можете посмотреть другие видео на канале. В плей-листе "8 класс" все разборы идут с блок-схемами. Есть и отдельное видео, посвящённое азам составления блок-схем (без циклов).
Я надеялся, что это Вы додумаете сами:) Если элементов, имеющих максимальное значение несколько, то приведённая программа даст индекс первого из них. Чтобы получить индекс последнего можно, например, добавить в условие a[i] > max знак равенства. Получится a[i] >= max. Чтобы получить индексы всех таких элементов, потребуется список.
Если Вас интересует второй по величине элемент массива, то есть стандартный алгоритм: Обозначим max1 - самый большой элемент, max2 - второй по величине элемент. Если очередной элемент массива оказался больше max1, то max1 становится вторым по величине (max2 = max1), а данный элемент становится самым большим (max1 = a[i]). В противном случае текущий элемент может оказаться больше второго по величине, тогда он становится вторым по величине (max2 = a[i]). Если же он не больше ни max1, ни max2, он нас вообще не интересует. Таким образом в max1 получаем самый большой элемент, в max2 - второй по величине. НО можно понимать условие двумя способами: 1) нас интересует второй по величине, если выкинуть все самые большие значения; 2) max1 и max2 могут быть равны. Решения этих двух задач будут немного отличаться, но общую схему я описал.
Боже вы не человек, вы просто золото!!!
Подумайте, как будет работать алгоритм, если элементов с максимальным значением два. Индекс какого из них будет выведен? Как изменить программу, чтобы был выведен индекс другого? А если элементов с максимальных значением больше двух?
У меня зачет просто по информатике. И мне нужно составить блок-схемы. 6 заданий. 6 схем.
Я могу подсказать что-то, но делать за Вас не буду:)
Печально, но мне очень нужно:)
Спасибо
Можете помочь составить блок-схемы?
Если у Вас есть конкретный вопрос по блок-схеме, я постараюсь на него ответить. Кроме того, Вы можете посмотреть другие видео на канале. В плей-листе "8 класс" все разборы идут с блок-схемами. Есть и отдельное видео, посвящённое азам составления блок-схем (без циклов).
Если у нас 2 одинаковых максимальных числа как узнать их индексы в массиве
Я надеялся, что это Вы додумаете сами:) Если элементов, имеющих максимальное значение несколько, то приведённая программа даст индекс первого из них. Чтобы получить индекс последнего можно, например, добавить в условие a[i] > max знак равенства. Получится a[i] >= max. Чтобы получить индексы всех таких элементов, потребуется список.
а если нужно 2 максимальных найти?
Если Вас интересует второй по величине элемент массива, то есть стандартный алгоритм:
Обозначим max1 - самый большой элемент, max2 - второй по величине элемент.
Если очередной элемент массива оказался больше max1, то max1 становится вторым по величине (max2 = max1), а данный элемент становится самым большим (max1 = a[i]). В противном случае текущий элемент может оказаться больше второго по величине, тогда он становится вторым по величине (max2 = a[i]). Если же он не больше ни max1, ни max2, он нас вообще не интересует. Таким образом в max1 получаем самый большой элемент, в max2 - второй по величине.
НО можно понимать условие двумя способами: 1) нас интересует второй по величине, если выкинуть все самые большие значения; 2) max1 и max2 могут быть равны. Решения этих двух задач будут немного отличаться, но общую схему я описал.
1 способ не работает
Приведите пример данных, для которых не работает