Подсчитать сумму элементов, расположенных между максимальным и минимальным элементами. если максимальный элемент встречается позже минимального, то выдать сообщение об этом.
//PascalABC.Net 3.0, сборка 1064 const n=20; var a:array[1..n] of integer; i,imax,imin:integer; s:longint; begin Randomize; Writeln('Исходный ряд значений'); imax:=1; imin:=1; for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i],' '); if a[i]>a[imax] then imax:=i else if a[i]<a[imin] then imin:=i end; Writeln; if imax>imin then Writeln('Максимальный элемент встретился позже минимального') else begin s:=0; for i:=imax+1 to imin-1 do s:=s+a[i]; Writeln('Сумма элементов между максимальным и минимальным значением ',s) end end.
Тестовое решение: Исходный ряд значений 10 -3 9 5 20 10 6 2 -19 -19 6 -24 -7 -1 23 11 -8 -16 -14 -25 Сумма элементов между максимальным и минимальным значением -27
const
n=20;
var
a:array[1..n] of integer;
i,imax,imin:integer;
s:longint;
begin
Randomize;
Writeln('Исходный ряд значений');
imax:=1; imin:=1;
for i:=1 to n do begin
a[i]:=Random(51)-25; Write(a[i],' ');
if a[i]>a[imax] then imax:=i
else
if a[i]<a[imin] then imin:=i
end;
Writeln;
if imax>imin then
Writeln('Максимальный элемент встретился позже минимального')
else begin
s:=0;
for i:=imax+1 to imin-1 do s:=s+a[i];
Writeln('Сумма элементов между максимальным и минимальным значением ',s)
end
end.
Тестовое решение:
Исходный ряд значений
10 -3 9 5 20 10 6 2 -19 -19 6 -24 -7 -1 23 11 -8 -16 -14 -25
Сумма элементов между максимальным и минимальным значением -27