Дан одномерный массив, преобразовать массив следующим образом: поменять местами наибольший и наименьший элементы — Pascal(Паскаль)

program p1;

const
  n = 100;

var
  m: array[1..n] of Integer;
  i, min, min_idx, max, max_idx: Integer;

begin
  for i:=1 to n do readln(m[i]); // просто заполнение массива с клавиатуры
  // основной код
  // присваиваем переменым начальные значения
  min:=m[1];  // значение минимального элемента
  max:=m[1];  // значение максимального элемента
  min_idx:=1;  // индекс минимального элемента
  max_idx:=1; // индекс максимального
  for i:=1 to n do
  begin
    if m[i] > max then 
    begin
      max:=m[i];
      max_idx:=i;
    end;
  if m[i] < min then 
    begin
      min:=m[i];
      min_idx:=i;
    end;
  end;
  m[min_idx]:=max;
  m[max_idx]:=min;
end.

Leave a Comment

− 2 = 2