Pascal. Задача 8-16

Проверить упорядоченность и порядок (возрастание или убывание) введенного пользователем массива.

Примечание: Массив считается упорядоченным по возрастанию, если каждый последующий его элемент не меньше предыдущего. Массив считается упорядоченным по убыванию, если каждый последующий его элемент не больше предыдущего.

 

Решение
var
  i, dir : integer;
  a : array[1..10] of integer;
  ordered : boolean;
begin
  ordered := true;
  dir := 0;
  for i := 1 to 10 do begin
    Write('Введите элемент массива ', i, ': ');
    Readln(a[i]);
    if (dir = 0) and (i > 1) then begin
      if a[i] > a[i - 1] then dir := 1
      else if a[i] < a[i - 1] then dir := -1;
    end
    else if ((dir > 0) and (a[i] < a[i - 1])) or
            ((dir < 0) and (a[i] > a[i - 1])) then begin
           ordered := false;
           break;
         end;
  end;
  if ordered and (dir <> 0) then begin
    Write('Массив упорядочен по ');
    if dir > 0 then Writeln('возрастанию')
    else Writeln('убыванию')
  end
  else
    Writeln('Массив не упорядочен'); 
end.