Главная страница / 25. Типовые алгоритмы: 25.7. Поиск минимальных и...

25.7. Поиск минимальных или максимальных значений в массивах

Поиск минимального значения элементов одномерного массива реализуется алгоритмом, блок-схема которого представлена на рис. 25.14, а. Для поиска используется вспомогательная переменная Xm, которой сначала присваивается значение, заведомо большее всех элементов массива (в данном алгоритме 1038). Затем организуется цикл перебора всех элементов массива. В теле цикла величина каждого элемента сравнивается со значением Xm  . Если она оказывается меньше, то ее значение присваивается переменной Xm  , а индекс этого элемента присваивается переменной im . После завершения цикла im будет содержать индекс элемента с наименьшей величиной, а переменная Xm   – его значение. Если в массиве содержится несколько минимальных значений одинаковой величины, то будет найдено первое. Если же условие выполнения действия в структуре «обход» записать как Xi<=Xm  , то будет найдено последнее.

Для поиска максимального по величине элемента нужно переменной Xm    изначально присвоить минимально возможное значение (например, -1038), а условие в альтернативе изменить на противоположное: Xi > Xm  .

Поиск минимального или максимального значений в двумерном массиве отличается только тем, что задается двойной цикл сканирования (рис. 25.14 б).

Можно легко совместить поиск минимального и максимального значений в одном цикле сканирования. Для этого необходимы две переменные Xmin и Xmax для запоминания текущих минимального и максимального значений и переменные imin и imax для запоминания индексов элементов.

img2514

Рис. 25.14. Поиск минимального элемента в одномерном (а) и двумерном (б) массивах