|
Поиск и преобразование элементов линейного массива Задача 1. В одномерном массиве найти наибольший элемент. Решение: Зададим и распечатаем случайный массив из 10 целых чисел: Program z1; Const N=10; {Константа N будет содержать количество элементов массива} Var A : Array [1..N] Of Integer; I : Integer; Begin Randomize; For I:=1 To N Do Begin A[I]:= random(100)-50; Write(A[I],' ') End; End. Для нахождения наибольшего или наименьшего элемента в некой совокупности данных, нужно перебирая все элементы совокупности, сравнивать их и запоминать удовлетворяющий условию. Обозначим наибольший элемент переменной max. На первом шаг за наибольший нужно взять первый элемент линейного массива, затем сравнивать все последующие элементы массива со значением max и выполнять замену, если найдем больший. … max:=a[1]; For iI:=2 To N Do Begin If A[i]> max then max:=a[i]; End; Writeln(‘max=’,max:10:3); … Задача 2. В одномерном массиве поменяйте местами максимальный и минимальный элементы. Решение: Найдем минимальный и максимальный элементы массива. Для того чтобы выполнить обмен значениями нужно знать на каком месте в массивах находятся минимум и максимум. Поэтому, определяя минимум и максимум, будем запоминать их порядковый номер: … max:=a[1]; k:=1; min:=a[1]; m:=1; For i:=2 To N Do Begin If A[i]> max then begin max:=a[i];k:=i; end; If A[i]< min then begin min:=a[i];m:=i; end; End; A[k]:=min; A[m]:=max; … Затем выведем массив на экран: For i:=1 To N Do Write (a[i]:10:3); |
Обратная связьЗадачи для самостоятельной работы:
|