Решение этой задачи требует одновременной работы с тремя файлами. Следовательно, нужно задать три файловые переменные.

    Приведем текст программы:

Program Problem59_2;
Var    K,L,M:File Of Integer;
       N,i:Word;
       A:Integer;
Begin
  Assign(K,'A.DAT'); {Связываем файловые переменные с файлами}
  Assign(L,'B.DAT');
  Assign(M,'C.DAT');
  Rewrite(K); {Пересоздаем файлы}
  Rewrite(L);
  Rewrite(M);
  {Заполняем первый файл}
  Write('Количество чисел в файле: ');
  ReadLn(N);
  For i:=1 To N Do
    Begin
      Write(i,'-е число: '); ReadLn(A);
      Write(K,A); {Запись числа в файл}
    End; 
  {----------Решение задачи--------------------}
  Seek(K,0); {Перемещаем указатель в начало файла для последующего чтения}
  While Not Eof(K) Do
    Begin
      Read(K,A); {Читаем текущий элемент из первого файла}
      If A mod 2 = 0 Then Write(L,A) {Запись четных}
      Else Write(M,A); {Запись нечетных чисел}
    End;
  WriteLn('Содержимое файла А: ');
  Seek(K,0);
  While Not Eof(K) Do
    Begin
      Read(K,A); Write(A,' ');
    End;
  WriteLn; WriteLn('Содержимое файла B: ');
  Seek(L,0);
  While Not Eof(L) Do
    Begin
      Read(L,A); Write(A,' ');
    End;
  WriteLn; WriteLn('Содержимое файла C: ');
  Seek(M,0);
  While Not Eof(M) Do
    Begin
      Read(M,A); Write(A,' ');
    End;
  WriteLn;
  Close(K); {Закрытие файлов}
  Close(L);
  Close(M);
End.
Текст этой программы можно взять здесь.