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

В предыдущем примере размерность массива 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. Все элементы массива должны быть определены (нельзя не вычислить какой-то элемент). Если какой-то элемент невозможно вычислить из-за аномальной ситуации, его определяют произвольно, например, обнуляют.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: