Определить четные и нечетные числа и поменять их местами. [Доработать] - Pascal ABC
Формулировка задачи:
файл целых чисел
, записав в него произвольное кол-во чисел, неравных 0. Ввод с клавиатуры, окончание ввода 0. Определить кол-во четных и не четных чисел.Поменяйте местами первый четный с последним нечетным элементом файла.
Мой пример кода я только не смог решить последний пункт обмен.Решение задачи: «Определить четные и нечетные числа и поменять их местами. [Доработать]»
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.
Объяснение кода листинга программы
В данном коде происходит чтение данных из файла, расположенного по адресу 'F:/list.dat'. После этого происходит перезапись содержимого файла. Затем программа повторяет цикл до тех пор, пока не будет введено число 0. В каждой итерации цикла пользователю предлагается ввести число, и если это число не равно 0, то оно записывается в файл.
После окончания ввода данных программа закрывает файл и сбрасывает его в начало. Затем программа переменной chet
присваивает значение 0, а переменной nchet
- значение 0. Далее, пока не будет достигнут конец файла, программа читает следующее число, проверяет его на четность с помощью операции модуля на 2 и, в зависимости от результата, увеличивает значение переменной chet
или nchet
.
После завершения чтения файла программа выводит на экран количество прочитанных четных и нечетных чисел.