//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
program jumping;
var
i, j, temp: integer;
B: array [1..10] of integer;
begin
for i := 1 to 10 do
read(B[i]);
for i := 1 to 9 do
for j := 1 to 10 - i do
if (B[j] < B[j + 1]) then
begin
temp := B[j];
B[j] := B[j + 1];
B[j + 1] := temp;
end;
writeln('Первое место: ', B[1]);
writeln('Второе место: ', B[2]);
writeln('Третье место: ', B[3]);
end.
Объяснение:
program jumping; // Название программы
var
i, j, temp: integer; // Целочисленные переменные:
i - переменная счетчик для цикла forj - переменная счетчик для цикла fortemp - переменная для временного хранения значений массиваB: array [1..10] of integer; // Целочисленный массив из 10 чисел
begin // Начало программы
for i := 1 to 10 do // Идём с первого по десятый элементы массива
read(B[i]); // Ввод значений массива
// Сортировка массива в порядке убывания
for i := 1 to 9 do // Идём с первого по девятый элементы массива
for j := 1 to 10 - i do // Идём с первого по 10 - i элементы массива
if (B[j] < B[j + 1]) then // Если последующий элемент больше предыдущего
begin // Начало цикла
temp := B[j]; // Временная переменная = значению массива B с индексом j
B[j] := B[j + 1]; // Значение массива B с индексом j = значению массива B с индексом j + 1
B[j + 1] := temp; // Значение массива B с индексом j = значению временной переменной
end; // Конец цикла
writeln('Первое место: ', B[1]); // Вывод ответа
writeln('Второе место: ', B[2]); // Вывод ответа
writeln('Третье место: ', B[3]); // Вывод ответа
end. // Конец программы
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