zadah28.PAS

{* Задача 28 *}

Unit ZADAH28;
Interface
Implementation
Begin
 writeln('В массиве размера N найти максимальный из его элементов не являющийся ни локальным минимумом ни локальным максимумом, если его нет то вывести о');
End.

Program array36;

Uses zadah28.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Type {* Используемые типы *}
  mas = Array[1..100] Of integer;
Var {* В работе нам потребуются переменные: *}
  i  : integer;
  k  : integer;
  n  : integer;
  f1 : integer;
  f2 : integer;
  l  : integer;
  c  : integer;
  d  : real;
  g  : real;
  ar : mas;
  br : mas;
  cr : mas;
Begin
  clrscr; {* Очистка экрана *}
  write('Введите длину массива: ');
  readln(n);
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    write('Введите ', i, ' элемент массива ');
    readln(ar[i]);
  End;
  For i := 1 To n Do {* Увеличиваем i от 1 до n с шагом 1 *}
    write(ar[i] : 3, '|');
  writeln; {* Пустая строка *}
  If ar[1] = ar[2] Then
    k := ar[1];
  For i := 2 To n - 1 Do {* Цикл для i => [2 .. n] *}
  Begin
    If (ar[i] < ar[i - 1]) And (ar[i] > ar[i + 1]) Or          (ar[i] > ar[i - 1]) And (ar[i] < ar[i + 1]) Then
      k := ar[i];
    break;
  End;
  For i := 2 To n - 1 Do {* Переменная i увеличивается с 2 до n *}
  Begin
    If (ar[i] > ar[i - 1]) And (ar[i] < ar[i + 1]) Or          (ar[i] < ar[i - 1]) And (ar[i] > ar[i + 1]) Then
    Begin
      If ar[i] > k Then
        k := ar[i];
    End;
    If ar[n] = ar[n - 1] Then
    Begin
      If ar[n] > k Then
        k := ar[n];
    End;
    
  End;
  writeln(k);
End.