Алгоритм: предполагаем, что максимальным (минимальным) является первый элемент массива. Просматриваем все остальные элементы массива и, если очередной элемент оказывается больше (меньше), чем выбранный нами максимум (минимум), то заменяем максимум (минимум) на этот элемент. Очевидно, мы найдем только величину максимального (минимального) элемента, но не его место в массиве (номер элемента).
Const nmax=100; { описываем массив с «запасом»}
Type vector=array [1..nmax] of Integer;
Var a: vector;
i, n, max: Integer;
Begin
Write ('введите размер массива');
Readln(n); {вводим конкретный размер массива}
Write ('введите элементы массива столбиком');
For i:=1 to n do Readln(a[i]);
max:=a[1];
For i:=2 to n do
If a[i]>max Then max:=a[i];
Write('=',max);
Readln
End.
Найдем значение максимального элемента и его номер (описание массива и его ввод не меняем).
Вариант программы:
Const nmax=100; { описываем массив с «запасом»}
Type vector=array[1..nmax] of Integer;
Var a:vector;
i, n, max: Integer;
num: Integer; { номер максимального элемента}
Begin
Write ('введите размер массива');
Readln(n); {вводим конкретный размер массива}
Write ('введите элементы массива столбиком');
For i:=1 to n do Readln(a[i]);
max:=a[1]; num:=1;
For i:=2 to n do
If a[i]>max Then Begin
max:=a[i]; {запоминаем новое значение max}
num:=i; {запоминаем номер этого элемента}
End;
Write('максимум =', max , 'номер =', num);
Readln
End.
Но если мы знаем номер элемента, то по номеру всегда получим и сам элемент. С учетом этого, программа примет вид: