Получить новый файл, в котором на четных местах стоят четные компоненты из первого файла - Turbo Pascal

Узнай цену своей работы

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

Имеется два файла с числами. Получить новый файл, в котором на четных местах стоят четные компоненты из первого файла, а на нечетных местах - нечетные компоненты из второго файла(количество компонентов в исходных файлах одинаковое).

Решение задачи: «Получить новый файл, в котором на четных местах стоят четные компоненты из первого файла»

textual
Листинг программы
program files3;
const
  n=10;
Var
  f,g,h : file of integer;
 
Procedure CreateFiles;
Var
  i,k:integer;
Begin
  Assign(f,'f.dat');
  Rewrite(f);
  Assign(g,'g.dat');
  Rewrite(g);
  for i:=1 to n do
    begin
      k:=random(n*n)+1;
      write(f,k);
      k:=random(n*n)+1;
      write(g,k);
    end;
  reset(f);
  writeln('File F:');
  While not Eof(f) do
    Begin
      read(f,k);
      write(k:4);
    end;
  writeln;
  reset(g);
  writeln('File G:');
  While not Eof(g) do
    Begin
      read(g,k);
      write(k:4);
    end;
  Close(f);
  Close(g);
End;
 
procedure ProcessFiles;
Var
  i,k:integer;
begin
  Assign(h,'h.dat');
  Rewrite(h);
  reset(f);
  reset(g);
  for i:=1 to n do
    begin
      seek(g,i-1);
      read(g,k);
      if not odd(k) then
        write(h,k);
      seek(f,i-1);
      read(f,k);
      if odd(k) then
        write(h,k);
    end;
  Close(f);
  Close(g);
  Close(h);
  writeln;
  reset(h);
  writeln('File H:');
  While not Eof(h) do
    Begin
      read(h,k);
      write(k:4);
    end;
  Close(h);
end;
 
Begin
  randomize;
  CreateFiles;
  ProcessFiles;
  readln;
End.

Объяснение кода листинга программы

  1. В программе создаются два файла: 'f.dat' и 'g.dat'.
  2. В файле 'f.dat' записываются случайные числа, а в файле 'g.dat' - их зеркальные отображения (т.е. числа, записанные в 'g.dat', будут четными, а числа в 'f.dat' - нечетными).
  3. Затем происходит чтение содержимого обоих файлов и запись этих данных в новый файл 'h.dat'.
  4. Если число, прочитанное из 'g.dat', является четным, то оно записывается в 'h.dat'. Если число из 'f.dat' - нечетное, то оно также записывается в 'h.dat'.
  5. После завершения чтения данных из файлов 'f.dat' и 'g.dat' файлы закрываются.
  6. В конце программы вызывается функция randomize, чтобы обновить генератор случайных чисел.
  7. Затем вызывается процедура CreateFiles, которая создает файлы 'f.dat', 'g.dat' и 'h.dat'.
  8. После этого вызывается процедура ProcessFiles, которая читает данные из файлов 'f.dat' и 'g.dat', и записывает их в файл 'h.dat'.
  9. В конце программы выводится сообщение 'File H:', и затем происходит чтение данных из файла 'h.dat' и запись их в стандартный вывод.
  10. После этого программа завершается вызовом функции readln.

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы