Решить . необходимо использовать одномерный массив. даны действительные числа a1, n. поменять местами первый наибольший элемент с последним наименьшим элементом.

mmmm0 mmmm0    3   26.06.2019 07:00    0

Ответы
Natali20171 Natali20171  21.07.2020 07:31
Const
  n = 20;

var
  a: array[1..n] of real;
  i, imax, imin: integer;
  r, rmax, rmin:real;

begin
  Randomize;
  Writeln('Элементы массива');
  rmax:=-1; { заведомо меньше меньшего }
  rmin:=100; { заведомо больше большего }
  for i := 1 to n do
  begin
    r:=Random(10);
    a[i]:=r;
    Write(r,' ');
    if rmax<r then begin rmax:=r; imax:=i end;
    if rmin>=r then begin rmin:=r; imin:=i end
  end;
  Writeln;
  { меняем местами и выводим результат }
  a[imax]:=rmin; a[imin]:=rmax;
  Writeln('Конечное состояние массива');
  for i := 1 to n do Write(a[i],' ');
  Writeln
end.

Тестовое решение:
Элементы массива
4 1 2 8 6 3 7 5 5 1 4 4 3 3 6 8 5 4 7 6
Конечное состояние массива
4 1 2 1 6 3 7 5 5 8 4 4 3 3 6 8 5 4 7 6

Видно, что первая восьмерка поменялась местами с последней единицей.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика