Сформировать новый файл, который будет состоять из сумм компонентов - Pascal

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

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

Задан файл из N целых компонентов. Сформировать новый файл, который будет состоять из сумм компонентов a1+aN, a2+aN-1, a3+aN-2, ..., ak+am для k<=m. Выдать содержимое полученного файла на экран.

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

textual
Листинг программы
const
  n = 10;
 
var
  t, x, i: integer;
  f, g: file of integer;
 
begin
  randomize;
  assign(f, 'f.dat');
  rewrite(f);
  writeln('Исходный файл: ');
  for i := 1 to n do
  begin
    x := random(10);
    write(x, ' ');
    write(f, x);
  end;
  writeln;
  reset(f);
  assign(g, 'g.dat');
  rewrite(g);
  writeln('Новый файл: ');  
  for i := 0 to filesize(f) div 2 - 1 do
  begin
    seek(f, n - i - 1);
    read(f, x);
    seek(f, i);
    read(f, t);
    write(g, x + t);
    write(x + t, ' ')
  end;
  close(f);
  close(g);
end.

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

  1. Объявляются константа n со значением 10, и переменные t, x и i типа integer, а также файловые переменные f и g типа file of integer.
  2. Генерируется случайное заполнение и запись в файл f.dat значений в диапазоне от 0 до 9, также выводится на экран содержимое файла f.dat.
  3. Файл f.dat открывается для чтения, создается и открывается новый файл g.dat для записи.
  4. Происходит чтение значений из файла f.dat, их суммирование попарно, запись в файл g.dat и вывод сумм на экран.
  5. Файл f.dat и g.dat закрываются. Этот код создает новый файл g.dat, в котором каждый элемент представляет собой сумму пар элементов из файла f.dat (первый элемент суммируется с последним, второй с предпоследним и т.д.), на основе значений, записанных в файл f.dat.

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

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