Максимальный и минимальный элементы массива. Максимальный и минимальный элементы массива. 10 класс
Скачать 425.71 Kb.
|
Максимальный и минимальный элементы массива.10 классСегодня на уроке мы…
Поиск максимального (минимального) элемента в массиве Очень часто для решения задачи требуется находить не заданный элемент массива, а максимальный (наибольший) или минимальный (наименьший). Рассмотрим задачу нахождения максимального элемента. Если в массиве один-единственный элемент, то он и есть максимальный. Если элементов больше одного, то максимальным в массиве из i элементов является максимум из a[i] и максимального среди первых i-1 элементов. Находить максимум будем последовательно, сравнивая текущий элемент с максимумом, найденным на предыдущем шаге. Если текущий элемент больше, то значение максимума, найденное на предыдущем шаге, нужно обновить. V. Программа: VI. Тестирование: var a: array[1..20] of integer; n, max: integer; begin write(ꞌКоличество n =ꞌ); readln(n); writeln(ꞌЭлементы массиваꞌ); for var i := 1 to n do read(a[i]); max := a[1]; for var i := 2 to n do if a[i] > max then max := a[i]; writeln(ꞌМаксимум = ꞌ, max); end. Данный алгоритм находит значение максимального элемента, но не позволяет определить, на каком месте в массиве расположен этот максимальный элемент. Будем использовать переменную n_max для хранения индекса максимального элемента. Значение переменной n_max будет изменяться тогда, когда изменяется значение максимального элемента. V. Программа: VI. Тестирование: var a: array[1..20] of integer; n, max, n_max: integer; begin write(ꞌКоличество n =ꞌ); readln(n); writeln(ꞌЭлементы массиваꞌ); for var i := 1 to n do read(a[i]); max := a[1]; n_max := 1; for var i := 2 to n do if a[i] > max then begin max := a[i]; n_max :=i; end; writeln(ꞌМаксимум = ꞌ, max); writeln(ꞌЕго место ꞌ, n_max); end. Если в массиве несколько элементов имеют максимальное значение, то значением переменной n_max будет индекс первого из них. Если использовать условие a[i] I max, то переменная n_max будет хранить индекс последнего из максимальных элементов. В случае, когда известен индекс i элемента массива, значение элемента можно получить, обратившись к элементу по индексу: a[i]. Поэтому при поиске максимального элемента достаточно хранить только его индекс n_max. Значение максимального элемента — a[n_max]. V. Программа: VI. Тестирование: var a: array[1..20] of integer; n, n_max: integer; begin write('количество n='); readln(n); writeln('элементы массива'); for var i := 1 to n do read(a[i]); n_max := 1; for var i := 2 to n do if a[i] > a[n_max] then n_max :=i; writeln('максимум= ', a[n_max]); writeln('его место ', n_max); end. Для поиска минимального элемента необходимо заменить знак > в условии оператора ветвления на знак <. V. Программа: VI. Тестирование: Var a: array[1..20] of integer; n, n_min: integer; begin write('количество n='); readln(n); writeln('элементы массива'); for var i := 1 to n do read(a[i]); n_min := 1; for var i := 2 to n do if a[i] < a[n_min] then n_min :=i; writeln('минимум= ', a[n_min]); writeln('его место ', n_min); end. |