сначала генерирем массив из 15 элементов (т.к. в задачи не указано каким образом, предположим что рандомом от -n до n. n можна заменить, например, на 100)
Код:
randomize;
for i:=1 to 15 do
A[i]:=random(n+1)-n;
Далее определяем порядковые номера минимального и максимального элементов
Код:
imin:=1;
imax:=1;
for i:=2 to 15 do
begin
if A[i]<A[imin] then imin:=i;
if A[i]>A[imax] then imax:=i;
end;
Теперь нужно, собственно посчитать сумму, но тут уже есть некоторые условия:
1) imin<imax - минимальный элемент стоит раньше максимального
2) imax<imin - максимальный элемент стоит раньше минимального
3) imin=imax - номера минимального и максимального элементов совпадают. Это может быть лишь в том случае, если весь массив состоит из однаковых элементов. Вероятность такого исхода практически нулевая, но все же...
Ниже все собственно в коде:
Код:
Sum:=0;
if imin=imax then writeln('Массив состоит из одинаковых элементов')
else if imin<imax then
for i:=imin to imax do
Sum:=Sum+A[i]
else
for i:=imax to imin do
Sum:=Sum+A[i];
Собственно эта программа ищет сумму между первым минимальным и первым максимальным элементом массива если таких элементов несколько