Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ готовые строки

Автор: Янычар 2.01.2007 23:27

короче написал прогу, которая очень хорошо удаляет слово, кторое повторяется в тексте три раза, но надо чтобы программа могла удалить сколько уугодно слов, которые встречаются в ней три раза, подскажите что в нее добаввить для этого, а вот и она сама:
Program celling;
var h,p,s,t:string;
posite2,posite,prob,m,k,del,fal,del2,fal2,prob2,rrt,nnt,c,w,i,j:integer;
begin
writeln('enter the length');
readln(h);
i:=1;
repeat
i:=i+1;
p:=p+h;
repeat
prob:=pos(' ',p);
s:=copy(p,0,prob-1);
posite:=pos(s,h);
m:=length(s);
t:=t+s;
k:=length(t);
delete(p,0,prob);
c:=length(p);
if pos(s,p)<>0 then begin
del:=pos(s,p);
fal:=del+k;
delete(p,-1,fal-1);
del2:=pos(s,p);
prob2:=pos(' ',p);
fal2:=fal+m+prob2;
if (del<>0) and (del2<>0) and (posite<>0) then
begin
delete(h,posite,m);
rrt:=pos(s,h);
delete(h,rrt,m);
nnt:=pos(s,h);
delete(h,nnt,m);
end;
while h[1]=' ' do
delete(h,1,1);
posite2:=pos(' ',h);
while h[length(h)]=' ' do
delete(h,length(h),1);
end;
until c=0;
j:=length(p);
delete(p,0,j+1);
writeln(h);
until i=10;
end.

Автор: Sam0784 2.01.2007 23:41

Проще заново написать чем в чужом коде разобраться тем более без коментариев совсем.
предлагаю алгоритм: Берёш слово (выделяешь в переменную стринг) и дальше по тексту сканишь находиш такоеже запоминаешь координату и тд до конца текста если к концу текста совподений >3 то удаляеш с символы с запомнинных позиций столько штук сколько букв в слове. потом перходишь к следующему слову т. до конца текста.

Автор: Bokul 2.01.2007 23:54

Sam0784, уточню: удалять надо с конца, чтобы не повлиять на индексы.
Например:


а б а б б с
3 7 9


если ты удалишь сначала первою 'б' (индекс - 3), то индекс 9 будет указывать не на 'б', а на пробел.

P.S. Янычар, пользуйся тегами!

Автор: Янычар 2.01.2007 23:55

мне надо чтобы вы мне сказали как сделать так чтобы мой цикл с постусловием повторялся хотя бы несколько раз с той же самойй строкой

Автор: volvo 3.01.2007 17:14

Цитата
короче написал прогу, которая очень хорошо удаляет слово, кторое повторяется в тексте три раза
Да? А может, расскажешь, как НАМ это посмотреть? Я, например, ввел строку: "aha uhu aha haha aha hehe wow" - и программа намертво зависла... Что я делаю не так?

 ! 
в течении трех часов с момента ВОТ ЭТОГО поста не добавишь теги - получишь бан на неделю... Достал. Правила ДЛЯ ТЕБЯ лично - никто не отменял. Все ясно?