zadah50.PAS

{* Задача 50 *}

Unit ZADAH50;
Interface
Implementation
Begin
 writeln('

Дан массив A размера N. Обнулить все его локальные максимумы

'
);
End.

Program zadah50;

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