program Arrminmax;
var
A: array of Integer;
N, i, imin, imax, Atmp: Integer;
begin
Write ('Введите размерность массива: ');
ReadLn (N);
SetLength(A, N); // устанавливаем размерность массива, введенную с клавиатуры
Randomize;
WriteLn ('Исходный массив:');
for i := Low (A) to High (A) do begin // заполняем массив случайными числами от -10 до 10 и выводим его на экран
A [i] := Random (21) - 10;
Write (A [i], ' ');
end;
imin := Low (A); // начальные значения - первых индекс в массиве
imax := Low (A);
for i := Low (A) to High (A) do begin // находим минимальный и максимальный элементы массива
if A [i] < A [imin] then
imin := i;
if A [i] > A [imax] then
imax := i;
Atmp := A [imax]; // меняем местами минимальный с максимальным
A [imax] := A [imin];
A [imin] := Atmp;
WriteLn;
WriteLn ('Результат обработки:'); // вывод результата
for i := Low (A) to High (A) do begin
ReadLn;
end.
Объяснение: в комментариях к программе
program Arrminmax;
var
A: array of Integer;
N, i, imin, imax, Atmp: Integer;
begin
Write ('Введите размерность массива: ');
ReadLn (N);
SetLength(A, N); // устанавливаем размерность массива, введенную с клавиатуры
Randomize;
WriteLn ('Исходный массив:');
for i := Low (A) to High (A) do begin // заполняем массив случайными числами от -10 до 10 и выводим его на экран
A [i] := Random (21) - 10;
Write (A [i], ' ');
end;
imin := Low (A); // начальные значения - первых индекс в массиве
imax := Low (A);
for i := Low (A) to High (A) do begin // находим минимальный и максимальный элементы массива
if A [i] < A [imin] then
imin := i;
if A [i] > A [imax] then
imax := i;
end;
Atmp := A [imax]; // меняем местами минимальный с максимальным
A [imax] := A [imin];
A [imin] := Atmp;
WriteLn;
WriteLn ('Результат обработки:'); // вывод результата
for i := Low (A) to High (A) do begin
Write (A [i], ' ');
end;
ReadLn;
end.
Объяснение: в комментариях к программе