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

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

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

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

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

textual
Листинг программы
  1. program files3;
  2. const
  3.   n=10;
  4. Var
  5.   f,g,h : file of integer;
  6.  
  7. Procedure CreateFiles;
  8. Var
  9.   i,k:integer;
  10. Begin
  11.   Assign(f,'f.dat');
  12.   Rewrite(f);
  13.   Assign(g,'g.dat');
  14.   Rewrite(g);
  15.   for i:=1 to n do
  16.     begin
  17.       k:=random(n*n)+1;
  18.       write(f,k);
  19.       k:=random(n*n)+1;
  20.       write(g,k);
  21.     end;
  22.   reset(f);
  23.   writeln('File F:');
  24.   While not Eof(f) do
  25.     Begin
  26.       read(f,k);
  27.       write(k:4);
  28.     end;
  29.   writeln;
  30.   reset(g);
  31.   writeln('File G:');
  32.   While not Eof(g) do
  33.     Begin
  34.       read(g,k);
  35.       write(k:4);
  36.     end;
  37.   Close(f);
  38.   Close(g);
  39. End;
  40.  
  41. procedure ProcessFiles;
  42. Var
  43.   i,k:integer;
  44. begin
  45.   Assign(h,'h.dat');
  46.   Rewrite(h);
  47.   reset(f);
  48.   reset(g);
  49.   for i:=1 to n do
  50.     begin
  51.       seek(g,i-1);
  52.       read(g,k);
  53.       if not odd(k) then
  54.         write(h,k);
  55.       seek(f,i-1);
  56.       read(f,k);
  57.       if odd(k) then
  58.         write(h,k);
  59.     end;
  60.   Close(f);
  61.   Close(g);
  62.   Close(h);
  63.   writeln;
  64.   reset(h);
  65.   writeln('File H:');
  66.   While not Eof(h) do
  67.     Begin
  68.       read(h,k);
  69.       write(k:4);
  70.     end;
  71.   Close(h);
  72. end;
  73.  
  74. Begin
  75.   randomize;
  76.   CreateFiles;
  77.   ProcessFiles;
  78.   readln;
  79. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы