Подсчитать число нужных строк

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

Текстовый файл t разбит на непустые строки. Подсчитать число строк, начинающихся и оканчивающихся одним и тем же символом.

Program stroki;
var t:text; s:string; kol:integer;
begin
kol:=0;
writeln;
assign(t,’t.txt’);
reset(t);
while not eof(t) do
begin
readln(t,s);
writeln(s);
if s[1]=s[length(s)] then inc(kol);
end;
close(t);
writeln(Kol,’ strok, gde 1 bukva=posledney bukve’);
readln;
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.