Дан файл f компоненты которого являются целыми числаями.Никакая из компонент файла f не...

0 голосов
77 просмотров

Дан файл f компоненты которого являются целыми числаями.Никакая из компонент файла f не равна нулю числа в файле идут в следущем порядке десят положительных.десять отрицательных. десять положительных.десять отрицательных итд. Переписать компоненты файла f в файл g так чтобы в файле g числа шли в следущем порядке пять отрицательных пять положительных пять отрицательных итд. Программу сделать в паскале .заранее спасибо!


Информатика (41 баллов) | 77 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1. Программа, создающая тестовый файл.

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var f: file of integer;
  var t:integer;
  Assign(f,'input.dat'); Rewrite(f);
  for var j:=1 to 5 do begin
    for var i:=1 to 10 do begin t:=Random(10,99); Write(f,t) end;
    for var i:=1 to 10 do begin t:=-Random(10,99); Write(f,t) end
    end;
  f.Close;
end.

2. Программа, которую требовалось написать

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var f,g: file of integer;
  var a:=new integer[20];
  var t:integer;
  Assign(f,'input.dat'); Reset(f);
  Assign(g,'output.dat'); Rewrite(g);
  while not f.Eof do begin
    for var i:=0 to 19 do Read(f,a[i]);
    a:=a[10:15]+a[0:5]+a[15:20]+a[5:10];
    for var i:=0 to 19 do Write(g,a[i])
    end;
  f.Close;
  g.Seek(0);
  while not g.Eof do begin Read(g,t); Print(t) end;
  g.Close
end.

(142k баллов)