Перезапись символов из одного файла в другой

Четверг, 10 Сен 2009

Из символьного файла переписать в новый файл все символы, предшествующие первому пробелу в исходном файле. Закончить результирующий файл восклицательным знаком.

program iz-v;
var f,g: file of char;
ch: char;
n: word;
begin
assign(f,’z1.txt’); reset(f);
assign(g,’z2.txt’); rewrite(g);
n:=filepos(f);
seek(f,n);
while ch<>’ ‘ do
begin
seek(f,n);
read(f,ch);
write(g,ch);
inc(n);
end;
ch:=’!';
write(g,ch);
readln;
close(f); close(g);
end.

Обработка текстового файла с числами

Четверг, 10 Сен 2009

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

Program fayli_fg;
type aa=array[1..100] of integer;
var a,bp,bo:aa; f,g: text;
fi,n,fp,fo,q,x,k: integer;
BEGIN
assign(f,’f.txt’); rewrite(f);
writeln(’Vvedite kol-vo chisel(8 ili 16-optimalno):’);
readln(n);
writeln(’Vvedite pologitelnie i otricatelnie chisla(odinakovo)’);
for fi:=1 to n do
begin
read(a[fi]);
write(f,a[fi]:3);
end;
close(f);
fp:=1; fo:=1;
for fi:=1 to n do
begin
if a[fi]>0 then
begin
bp[fp]:=a[fi]; inc(fp); end
else
begin
bo[fo]:=a[fi]; inc(fo); end;
end;
assign(g,’g.txt’);
rewrite(g);
if n=8 then k:=2 else k:=4;
fp:=1; fo:=1;
for q:=1 to k do
begin
append(g);
for x:=1 to 2 do
begin
write(g,bp[fp]:3);
inc(fp);
end;
close(g);
append(g);
for x:=1 to 2 do
begin
write(g,bo[fo]:3);
inc(fo);
end;
close(g);
end;
readln;
readln;
end.