Создать файл f1 целых чисел. Просуммировать по две компоненты файла и записать эти суммы в f2. Если количество компонент в f1 нечетно, то последнее число не писать в f2. Вывести исходный и результирующий файлы — Pascal(Паскаль)

uses crt;
var f1,f2:file of integer;
    a,b,i,p:integer;
begin
clrscr;
assign(f1,'file1');
rewrite(f1);
assign(f2,'file2');
rewrite(f2);
writeln('Введите в файл не менее 2 целых чисел, окончание ввода 0:');
i:=0;
repeat
readln(a);
if a<>0 then
 begin
  write(f1,a);
  i:=i+1;
 end;
until (a=0)and(i>1);
writeln('Содержание исходного файла:');
reset(f1);
while not eof(f1) do
 begin
  read(f1,a);
  write(a,' ');
 end;
writeln;
writeln;
close(f1);
reset(f1);
if odd(filesize(f1))then p:=filesize(f1)-3{если нечетное количество}
else p:=filesize(f1)-2;{если четное}
i:=0;
while i<=p do
 begin
  seek(f1,i);{первый}
  read(f1,a);
  seek(f1,i+1);{второй}
  read(f1,b);
  a:=a+b;{сумма}
  write(f2,a);{в файл}
  i:=i+2;{перепрыгиваем}
 end;
writeln('Полученный файл:');
reset(f2);
while not eof(f2) do
 begin
  read(f2,a);
  write(a,' ');
 end;
close(f2);
readln
end.

Leave a Comment

29 − = 23