Алгоритм решения задачи следующий. Пусть в переменной с именем max хранится значение максимального элемента массива, а в переменной с именем nmax - его номер. Предположим, что нулевой элемент массива является максимальным и запишем его в переменную max, а в nmax его номер (то есть ноль ). Затем все элементы, начиная с первого, сравниваем в цикле с максимальным. Если текущий элемент массива оказывается больше максимального, то записываем его в переменную max, а в переменную nmax - текущее значение индекса i . Процесс определения максимального элемента в массиве изображен при помощи блок- схемы на рис.6.

Рисунок 6: Поиск максимального элемента массива и его
номера
Реализация алгоритма в С++.
for(max=X[0],nmax=0,i=1;i<n;i++)
if (x[i]>max)
{
max=x[i]; nmax=i;
}
Алгоритм поиска минимума будет отличаться знаком в блоке сравнения. Значительно более интересной является задача поиска минимального (максимального) элемента массива, среди элементов массива, удовлетворяющих некоторому условию. Рассмотрим на примере поиска минимального значения, среди положительных элементов массива.
for(i=k=0;i<n;i++)
// Если элемент положительный,
if (x[i]>0)
{
// то увеличиваем количество положительных элементов на 1.
k++;
// Если это первый положительный элемент, то объявляем его
// минимальным, иначе
if (k==1) {min=x[i];nmin=i;}
// сравниваем его с минимальным
else if (x[i]<min)
{
min=x[i]; nmin=i;
}}