Переставить элементы массива в порядке убывания и найти сумму элементов массива находящихся между наибольшим и наименьшим элементом массива не включая их самих pascal
var arr: array[1..10] of Integer; i, j, temp, sum, maxIndex, minIndex: Integer;
begin // Заполняем массив случайными числами Randomize; for i := 1 to 10 do begin arr[i] := Random(50) + 1; Write(arr[i], ' '); end;
// Сортируем массив в порядке убывания for i := 1 to 10 do begin for j := i + 1 to 10 do begin if arr[j] > arr[i] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end;
// Находим индексы наибольшего и наименьшего элементов maxIndex := 1; minIndex := 1; for i := 2 to 10 do begin if arr[i] > arr[maxIndex] then maxIndex := i; if arr[i] < arr[minIndex] then minIndex := i; end;
// Находим сумму элементов между наибольшим и наименьшим sum := 0; for i := minIndex + 1 to maxIndex - 1 do begin sum := sum + arr[i]; end;
// Выводим отсортированный массив и сумму Writeln; for i := 1 to 10 do begin Write(arr[i], ' '); end; Writeln; Writeln('Сумма элементов между наибольшим и наименьшим: ', sum);
program ReverseArray;
var
arr: array[1..10] of Integer;
i, j, temp, sum, maxIndex, minIndex: Integer;
begin
// Заполняем массив случайными числами
Randomize;
for i := 1 to 10 do
begin
arr[i] := Random(50) + 1;
Write(arr[i], ' ');
end;
// Сортируем массив в порядке убывания
for i := 1 to 10 do
begin
for j := i + 1 to 10 do
begin
if arr[j] > arr[i] then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;
// Находим индексы наибольшего и наименьшего элементов
maxIndex := 1;
minIndex := 1;
for i := 2 to 10 do
begin
if arr[i] > arr[maxIndex] then
maxIndex := i;
if arr[i] < arr[minIndex] then
minIndex := i;
end;
// Находим сумму элементов между наибольшим и наименьшим
sum := 0;
for i := minIndex + 1 to maxIndex - 1 do
begin
sum := sum + arr[i];
end;
// Выводим отсортированный массив и сумму
Writeln;
for i := 1 to 10 do
begin
Write(arr[i], ' ');
end;
Writeln;
Writeln('Сумма элементов между наибольшим и наименьшим: ', sum);
end.