Страница 1 из 1

помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 16:03
Perf
Решите 3 задачи плиз. Дан текстовый файл. Удалить в каждой строке этого файла 1) каждое последнее слово. в строке 2)каждое первое слово в строке 3) каждое 2-е слово в строке

Re: помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 18:00
MOTOCoder
Если ещё надо:
[syntax='delphi']
program txt_file;
var
f1,f2:text;
s1,s2:string;
wdpos:integer;
i:integer;

procedure delfirst;
var p:integer;
begin
s2:='';
p:=pos(' ',s1)+1;
for i:=p to length(s1) do
s2:=s2+s1;
end;

procedure dellast;
var p:integer;
begin
s2:='';
for i:= length(s1) downto 1 do
s2:=s2+s1;
s1:=s2;
s2:='';
p:=pos(' ',s1)+1;
for i:=p to length(s1) do
s2:=s2+s1;
s1:='';
for i:=length(s2) downto 1 do
s1:=s1+s2;
s2:=s1;
end;

procedure delsecond;
var b:boolean;
label 1;
begin
b:=false;
s2:='';
for i:=1 to length(s1) do
begin
if (s1=' ')and (b) then
begin
b:=false;
goto 1;
end;
if (s1=' ')and (not b) then
b:=true;
1:
if not b then s2:=s2+s1;
end;
end;

begin
assign(f1,'file.txt');
assign(f2,'temp.txt');
reset(f1);
rewrite(f2);
while not eof(f1) do
begin
readln(f1,s1);
{одна из процедур
delfirst-первое слово
delsecond-второе слово
dellast-последнее слово}
writeln(f2,s2);
end;
close(f1);
close(f2);
erase(f1);
rename(f2,'file.txt');
end.
[/syntax]

Re: помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 18:55
drummer
2 MOTOCoder
Вообще писать с метками не рукомендуется.

Re: помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 20:19
MOTOCoder
drummer писал(а):2 MOTOCoder
Вообще писать с метками не рукомендуется.
Знаю, но в данном случае, думать некогда, а это самый простой способ обойти условие.

Re: помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 20:30
Perf
Огромное спасибо за помощь, правда скорее всего пойду 30-го перездавать.

Re: помогите плиз сижу на зачетд

Добавлено: 23 янв 2008, 20:51
drummer
2 Perf
Следующий раз лучше пиши заранее, когда тебе помощь, может быть, будет нужна.