Сгенерировать массив и N различных случайных чисел. Найти сумму ее членов расположенных между максимальным и минимальным значениями (в сумму включить и оба этих числа) Через динамический массив. Pascal ABC.NET
var arr: array of Integer; N, i, minIndex, maxIndex, sum: Integer; min, max: Integer;
begin Write('Enter the size of the array: '); Readln(N);
SetLength(arr, N);
Randomize; for i := 0 to N - 1 do begin arr[i] := Random(100); Write(arr[i], ' '); end;
min := arr[0]; max := arr[0]; minIndex := 0; maxIndex := 0;
for i := 1 to N - 1 do begin if arr[i] < min then begin min := arr[i]; minIndex := i; end else if arr[i] > max then begin max := arr[i]; maxIndex := i; end; end;
sum := 0; if minIndex < maxIndex then begin for i := minIndex to maxIndex do sum := sum + arr[i]; end else begin for i := maxIndex to minIndex do sum := sum + arr[i]; end;
WriteLn; WriteLn('Minimum value: ', min); WriteLn('Maximum value: ', max); WriteLn('Sum between min and max: ', sum); end.
program MinMaxSum;
var
arr: array of Integer;
N, i, minIndex, maxIndex, sum: Integer;
min, max: Integer;
begin
Write('Enter the size of the array: ');
Readln(N);
SetLength(arr, N);
Randomize;
for i := 0 to N - 1 do
begin
arr[i] := Random(100);
Write(arr[i], ' ');
end;
min := arr[0];
max := arr[0];
minIndex := 0;
maxIndex := 0;
for i := 1 to N - 1 do
begin
if arr[i] < min then
begin
min := arr[i];
minIndex := i;
end
else if arr[i] > max then
begin
max := arr[i];
maxIndex := i;
end;
end;
sum := 0;
if minIndex < maxIndex then
begin
for i := minIndex to maxIndex do
sum := sum + arr[i];
end
else
begin
for i := maxIndex to minIndex do
sum := sum + arr[i];
end;
WriteLn;
WriteLn('Minimum value: ', min);
WriteLn('Maximum value: ', max);
WriteLn('Sum between min and max: ', sum);
end.