var
a:array[1..1000]of integer;
f:text;
n,i,chislo,t,s:integer;
begin
randomize;
assign(f,'input.txt');
rewrite (f);
repeat
writeln('vvedite kolichestvo chisel, kratnoe 20');
readln(n);
until n mod 20=0;
for i:=1 to n do
begin
chislo:=random(100)+1;
t:=(i-1)div 10;
if t mod 2<>0 then chislo:=-chislo;
write(f,chislo,' ');
end;
close(f);
reset(f);
writeln('ishodnyj massiv');
for i:=1 to n do
begin
read(f,a[i]);
write(a[i],' ');
end;
close(f);
writeln;
assign(f,'output.txt');
rewrite(f);
for i:=6 to n do
begin
t:=(i-1)div 5;
if (t-1)mod 4=0 then
begin
s:=a[i];
a[i]:=a[i+5];
a[i+5]:=s;
end;
end;
writeln('novyj massiv');
for i:=1 to n do
begin
write(a[i],' ');
write(f,a[i],' ');
end;
close(f);
readln;
end.
Следующий вариант
uses crt;
var f,g:file of integer;
n,i,j,a,k,p:integer;
begin
clrscr;
randomize;
assign(f,'filef');
rewrite(f);
assign(g,'fileg');
rewrite(g);
write('Сколько пар десятков чисел записать в файл? n=');
readln(n);
for i:=1 to n do
begin
for j:=1 to 10 do
begin
a:=j;
write(f,a);
end;
for j:=1 to 10 do
begin
a:=-j;
write(f,a);
end;
end;
reset(f);
writeln('Файл F:');
while not eof(f) do
begin
read(f,a);
write(a,' ');
end;
close(f);
writeln;
writeln;
reset(f);
for i:=1 to n do
begin
p:=(i-1)*20;
k:=p;
for j:=k to k+4 do
begin
seek(f,j);
read(f,a);
write(g,a);
end;
k:=p+10;
for j:=k to k+4 do
begin
seek(f,j);
read(f,a);
write(g,a);
end;
k:=p+5;
for j:=k to k+4 do
begin
seek(f,j);
read(f,a);
write(g,a);
end;
k:=p+15;
for j:=k to k+4 do
begin
seek(f,j);
read(f,a);
write(g,a);
end;
end;
close(f);
reset(g);
writeln('Файл G:');
while not eof(g) do
begin
read(g,a);
write(a,' ');
end;
close(g);
readln
end.