Решение этой задачи требует одновременной работы с тремя файлами. Следовательно, нужно задать три файловые переменные.
Приведем текст программы:
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.