zadach216.PAS

{* Задача 216 *}

Unit ZADACH216;
Interface
Implementation
Begin
 writeln('В файле из вещественных чисел переставить элементы таким образом, чтобы сначала были записаны все положительные, затем все отрицательные, а потом все нули.');
End.

Program S2_Z9;

Uses zadach216.pas; {* Эту строку можно удалить *}
Type {* Используемые типы *}
  fi = File Of integer;
  m = Array[1..100] Of integer;
Var {* Необходимые переменные *}
  f1               : fi;
  n                : integer;
Procedure vvod(n : integer;
Var {* В работе нам потребуются переменные: *}
  f : fi);
Var {* Объявление переменных *}
  i                 : integer;
  a                 : integer;
  Begin
  assign (f : f.int');
  '
c                :f.int');
For i := 1 To n Do{* Увеличиваем i от 1 до n с шагом 1 *}
Procedure sort(n  : integer;
Var {* Объявление переменных *}
  f : fi);
Var {* Необходимые переменные *}
  buf         : fi;
  s           : integer;
  i           : integer;
  j           : integer;
  k           : integer;
  a           : m;
  assign (buf : buf.int'
);
  'c          :buf.int'); {* Пока не конец файла *}
  Begin
For i := 1 To n Do{* Увеличиваем i от 1 до n с шагом 1 *}
  A[i] := s;
For j := 1 To n Do{* Цикл для j => [1 .. n] *}
  a[i] := a[i - 1];
a[i - 1] := s;
k := 0;
For i := 1 To n Do{* Увеличиваем i от 1 до n с шагом 1 *}
  a[i] := a[n - k];
a[n - k] := s;
k := k + 1;
For i := 1 To n Do{* Цикл для i => [1 .. n] *}
  rename(buf  : f.int');
'
c          :f.int');
Var {* В работе нам потребуются переменные: *}
  f : fi);
Var {* Необходимые переменные *}
  a : integer;
  Begin
  reset(f); {* Подготовка переменной f для чтения из файла *}
While Not eof(f) Do {* Проверяем, не достигнут ли конец файла *}
  Begin
read(f, a);
write(a : 4);
End;

End;
Begin
writeln('
Задайте кол-во компонентов файла');
readln(n);
vvod(n, f1);
sort(n, f1);
w(f1);
write;
End....