Если в массиве несколько элементов, значения которых равны максимальному значению, то данная программа найдёт первый из них (первое вхождение). Подумайте, что следует изменить в программе, чтобы она находила последний из максимальных элементов. Как следует преобразовать программу, чтобы с её помощью можно было найти минимальный элемент массива? Проверьте свои предположения на компьютере.
В исходной программе индекс imax меняется только тогда, когда очередной элемент строго больше прежнего максимума: A[i] > A[imax]. При равенстве условие ложно, поэтому сохраняется индекс первого максимума. Чтобы при равенстве выбирать более поздний элемент, заменяем > на >=.
Для поиска минимума начинаем с индекса
A = [ , , , , ]
N = len(A)
imax =
for i in range( , N):
if A[i] >= A[imax]:
imax = i
print('Последний максимум:', imax, A[imax])
imin =
for i in range( , N):
if A[i] < A[imin]:
imin = i
print('Первый минимум:', imin, A[imin])
Проверим первый цикл на массиве из примера. В начале imax = и максимум равен imax значения imin = ; сравнение imin = ; остальные элементы больше. Получаем индекс <=.
Для последнего максимума заменить A[i] > A[imax] на A[i] >= A[imax]. Для первого минимума использовать imin = и условие A[i] < A[imin]. На массиве [ это даёт максимум
