Определить четные и нечетные числа и поменять их местами. [Доработать] - Pascal ABC

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

Создайте файл целых чисел, записав в него произвольное кол-во чисел, неравных 0. Ввод с клавиатуры, окончание ввода 0. Определить кол-во четных и не четных чисел. Поменяйте местами первый четный с последним нечетным элементом файла. Мой пример кода я только не смог решить последний пункт обмен.
Program z1;
Var f:set of integer;
    chet,nchet,a:Integer;
Begin
assign(f,'F:/list.dat');
rewrite(f);
WriteLn('Признак оканчания ввода 0');
 Repeat
  Write('Введите число: ');
  Read(f,a);
 Until a=0;
{Ставим условие на четность и считаем кол-во}
If f mod 2=0 Then inc(chet) Else inc(nchet);
Write(#13,#10,'Кол-во четных цифр: ',chet,#13,#10' Кол-во не четных цифр: ',nchet);
End.
Добавлено через 11 часов 22 минуты Жду ответа Добавлено через 6 часов 13 минут
Var f:set of integer;
чуть ошибся здесь, вот так будет
Var f:file of integer;

Код к задаче: «Определить четные и нечетные числа и поменять их местами. [Доработать] - Pascal ABC»

textual
Program z1;
 
Var f: file of integer;
    chet, nchet, a: Integer;
Begin
assign(f, 'F:/list.dat');
rewrite(f);
WriteLn('Признак оканчания ввода 0');
 Repeat
  Write('Введите число: ');
  ReadLn(a);
  If a <> 0 then Write(f, a)
 Until a=0;
close(f);
reset(f);
chet := 0;
nchet := 0;
while not(eof(f)) do
 begin
  read(a);
  If a mod 2 = 0 Then inc(chet) Else inc(nchet)
 end;
Write(#13,#10,'Кол-во четных цифр: ',chet,#13,#10' Кол-во не четных цифр: ',nchet);
End.

9   голосов, оценка 4.222 из 5


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