Решаем задачи Абрамян на Паскале. Array32

Array32. Дан массив размера $$N$$. Найти номер его первого локального минимума (локальный минимум — это элемент, который меньше любого из своих соседей).

Решение:

Другие задачи из раздела Array можно посмотреть здесь.

Комментарии:

Комментарии 6

  • Необходимо рассмотреть и случай когда минимумом является первый или последний элементы

  • Поправил. Переписал на while, а то не понятно как проверять последний элемент.
    Было:

    Стало:

  • Первый локальный минимум — первый элемент, который меньше следующего, поэтому лишь одно условие в сравнении. Минимум по умолчанию равен N на случай если массив монотонно убывающий и сравнение не сработает.

    [/crayon]

    • Идея хорошая, но не подходит под условия задачи:
      массив: 5 4 3 3 3 4 5
      этот алгоритм покажет, что локальный минимум есть, а на самом деле его нет:
      «локальный минимум — это элемент, который меньше любого из своих соседей»

      • К сожалению, да. Тут и в некоторых задачах дальше проигнорил возможность повторов чисел. Переделав — получил обычное решение только с for. Тоже и с Array33.

  • Программа в шапке работает не правильно, в случае с массивом, например (2,2,2) выведет 3 — номер последнего. Если while надо проверять i

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *