Записать во второй файл только отрицательные четные элементы первого - Turbo Pascal
Формулировка задачи:
Создать типизированный файл из целых чисел в диапазоне [-20,20]. Записать во второй файл только отрицательные четные элементы первого файла. Выполнить построчный вывод файлов на экран.
Решение задачи: «Записать во второй файл только отрицательные четные элементы первого»
textual
Листинг программы
type fOi=file of integer;
var
i, n, z: integer;
f, v:fOi;
procedure printfile(ff:fOi);
var ii:integer;
begin
reset(ff);
while not EoF(ff) do
begin
read(ff,ii);write(ii:4);
end;
writeln;
end;
begin
assign(f, 'ff.txt');assign(v, 'seff.txt');
write('Введите количество чисел: ');
readln(n);
rewrite(f);
for i := 1 to n do
begin
z := 20 - random(41);
write(f, z);
end;
close(f);
reset(f);
rewrite(v);
for i := 1 to n do
begin
read(f, z);
if (z < 0) and (z mod 2 = 0) then write(v, z);
end;
close(v);
writeln('Исходный файл: ');printfile(f);
writeln('Конечный файл: ');printfile(v);
end.
Объяснение кода листинга программы
- Создается тип данных
fOi, который представляет собой файл целых чисел. - Создаются переменные
i,nиzтипаinteger, а также переменныеfиvтипаfOi. - Определяется процедура
printfile, которая принимает на вход файлffи выводит информацию о нем. - В основной программе:
- Создаются два файла
fиvс именамиff.txtиseff.txtсоответственно. - Пользователю предлагается ввести количество чисел для записи.
- В файл
fзаписываются случайные числа от 0 до 20. - В файл
vзаписываются только четные и отрицательные числа из файлаf. - Файлы
fиvзакрываются.
- Создаются два файла
- Записывается информация о файлах
ff.txtиseff.txt.