zadach169.PAS

{* Задача 169 *}

Unit ZADACH169;
Interface
Implementation
Begin
 writeln('В заданном массиве X(N) заменить нулями все отрицательные компоненты, непосредственно предшествующие его максимальной компоненте ( первой по порядку, если их несколько).');
End.

Program Simple_2_5;

Uses zadach169.pas; {* Эту строку можно удалить *}
Uses CRT; {* Подключаем внешние файлы *}
Const {* Предопределенные *}
  N = 5;
Type {* Типы переменных *}
  ArrayN = Array [1..N] Of Integer;
Var {* В работе нам потребуются переменные: *}
  X        : ArrayN;
  i        : Integer;
  Max      : Integer;
  IndexMax : Integer;
Begin
  Clrscr; {* Стираем всё с экрана *}
  Randomize;
  For i := 1 To N Do {* Переменная i увеличивается с 1 до N *}
  Begin
    X[i] := - 1000 + Random(2000);
    Write(X[i], ' ');
  End;
  Writeln('');
  Max := X[1];
  IndexMax := 1;
  For i := 1 To N Do {* Увеличиваем i от 1 до N с шагом 1 *}
    If X[i] > Max Then
    Begin
      Max := X[i];
      IndexMax := i;
    End;
  For i := 1 To IndexMax - 1 Do {* Цикл для i => [1 .. IndexMax] *}
    If X[i] < 0 Then
      X[i] := 0;
  For i := 1 To N Do {* Цикл для i => [1 .. N] *}
    Write(X[i], ' ');
  Writeln('');
  Readln; {* Ждем нажатия Enter *}
End.