zadach404.PAS

{* Задача 404 *}

Unit ZADACH404;
Interface
Implementation
Begin
 writeln('Составить программу содержащую процедуру перемещающую отрицательные элементы массива С1, С2, … Сn в его конец, а положительные в начало.');
End.

Program zadach404;

Uses zadach404.pas; {* Эту строку можно удалить *}
Uses Crt; {* Подключаем внешние файлы *}
Type {* Используемые типы *}
  mas = Array [1..12] Of integer;
Var {* Необходимые переменные *}
  i                       : integer;
  C                       : mas;
  Rez                     : mas;
Procedure Sortirovka (C : mas;
Var {* Объявление переменных *}
  Rez : mas);
Var {* Необходимые переменные *}
  j    : integer;
  temp : integer;
  s    : boolean;
Begin
  s := true;
  While s = true Do
  Begin
    s := false;
    For j := 1 To 11 Do {* Цикл для j => [1 .. 11] *}
      If (C[j] = 0) Then
      Begin
        temp := C[j];
        C[j] := C[j + 1];
        C[j + 1] := temp;
        s := true;
      End;
    
  End;
  For j := 1 To 12 Do {* Цикл для j => [1 .. 12] *}
    Rez[i] := C[i];
End;
Begin
  ClrScr; {* Очистка экрана *}
  WriteLn('Введите C:');
  For i := 1 To 12 Do {* Переменная i увеличивается с 1 до 12 *}
  Begin
    Write('C', i, ': ');
    GoToXY(5, i + 1);
    ReadLn(C[i]);
  End;
  For i := 1 To 12 Do {* Переменная i увеличивается с 1 до 12 *}
    Sortirovka(C, Rez);
  GoToXY(14, 1);
  Write('| Результат:');
  For i := 1 To 12 Do {* Цикл для i => [1 .. 12] *}
  Begin
    GoToXY(14, i + 1);
    Write('|  ', Rez[i]);
  End;
  ReadLn; {* Ждем нажатия Enter *}
End.