Переписать в пустой файл g сначала все положительные числа, а потом все отрицательные - Pascal ABC

Формулировка задачи:

Здравствуйте, не могли бы кто нибудь помочь с двумя задачами. P.S. прошу прощения что нарушил правила и выложил две задачи в одной теме, но не хочу плодить темы, и рациональнее будет выложить в одной. Задача 1: type rad = file of integer; Описать процедуру p(f,g) от двух файлов типа rаd, которая из файла f переписывает в пустой файл g сначала все положительные числа, а потом все отрицательные. Указание: введите файл f (последний элемент равен 0). Выполните процедуру p(f,g). Распечатайте файл g.

Код к задаче: «Переписать в пустой файл g сначала все положительные числа, а потом все отрицательные - Pascal ABC»

textual
uses crt;
type rad=file of integer;
procedure p(var f,g:rad);
var a:integer;
begin
reset(f);
while not eof(f) do
 begin
  read(f,a);
  if a>0 then write(g,a)
 end;
reset(f);
while not eof(f) do
 begin
  read(f,a);
  if a<0 then write(g,a)
 end;
close(f);
end;
 
var f,g:rad;
    a:integer;
begin
assign(f,'fileF');
rewrite(f);
writeln('Введите в файл целые положительные и отрицательные числа,');
writeln('окончание ввода 0');
repeat
readln(a);
if a<>0 then write(f,a);
until a=0;
if filesize(f)=0 then
 begin
  writeln('Файл пустой, введите в него целые числа кроме ноля');
  close(f);
  exit;
 end;
assign(g,'fileG');
rewrite(g);
p(f,g);
reset(g);
writeln('Файл G:');
while not eof(g) do
 begin
  read(g,a);
  write(a,' ');
 end;
close(g);
end.

13   голосов, оценка 3.846 из 5


СОХРАНИТЬ ССЫЛКУ