Поиск максимального и минимального элементов массива

В предыдущем примере размерность массива X задана явно, а теперь рассмотрим пример, в котором задан интервал для формирования значений элементов массива X .

ПРИМЕР 7.2. Элементы массива X формируются на заданном интервале шагом ΔX : Xn≤Xi≤Xk. Сформировать массив Y, вычислив по формуле его элементы. Определить максимальный элемент массива Y и его порядковый номер.

Алгоритм решения приведен на рис. 7.4. После ввода исходных данных определяется N - размерность массива X. Затем с помощью блока модификации организуется цикл. Он предназначен для поэлементного формирования и вывода массивов X и Y, определения максимального элемента массива Y и его номера.

Так как формула для вычисления Yi содержит аномалию, в алгоритме предусмотрена проверка: если cosXi=-1 , то вычислить Yi невозможно; в этом случае Yi присваивается 0 (Yi=0), так как все элементы массива должны быть определены. Внимание!!! В массиве не может отсутствовать какой-то элемент!!!

Для хранения значения максимального элемента и его номера отведены 2 вспомогательные ячейки : max и nom. Сначала в max помещается значение 1-го элемента массива Y, а в nom – его номер, т.е. число 1. Каждый следующий элемент массива Yi сравнивается с содержимым max и если Yi>max, то содержимое max меняется на Yi, а в nom помещается значение номера i. После завершения цикла в переменной max находится искомое значение максимального элемента, а в переменной nom – его номер.

Рассмотрим более подробно алгоритм поиска максимального элемента массива и его номера. Допустим значения элементов массива Y равны : Y1=-3, Y2=0, Y3=10, Y4=3, Y5=-2

 

 


1) i=1 ; Y1=-3 ; max=-3 ; nom=1

2) i=2 ; Y2= 0 ; проверка Yi > max è “ИСТИНА” è max=0; nom=2

3) i=3 ; Y3= 10; проверка Yi>maxè“ИСТИНА” èmax=10; nom=3

4) ) i=4 ; Y3= 3; проверка Yi>maxè“ЛОЖЬ”

5) i=5 ; Y3= -2; проверка Yi>maxè“ЛОЖЬ”

Цикл завершен, результат è max=10; nom=3

 

 

           
   
 
 
Рис. 7.4. Алгоритм решения примера 7.2
 
   


Выводы.

1. Для поиска максимального элемента массива и его номера необходимо предусмотреть 2 вспомогательные ячейки – для значения и для номера – например, max и nom. Сначала в max помещается значение 1 –го элемента, а в nom –единица. Все элементы массива начиная со 2-го последовательно сравниваются с содержимым max. Если при этом какой-то элемент превышает max, его значение заменяет содержимое max, а его номер заменяет содержимое nom.По окончании перебора всех элементов массива в max содержится значение максимального элемента массива, а в nom –его номер.

2. Все элементы массива должны быть определены (нельзя не вычислить какой-то элемент). Если какой-то элемент невозможно вычислить из-за аномальной ситуации, его определяют произвольно, например, обнуляют.