короче написал прогу, которая очень хорошо удаляет слово, кторое повторяется в тексте три раза, но надо чтобы программа могла удалить сколько уугодно слов, которые встречаются в ней три раза, подскажите что в нее добаввить для этого, а вот и она сама: 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" - и программа намертво зависла... Что я делаю не так?
!
в течении трех часов с момента ВОТ ЭТОГО поста не добавишь теги - получишь бан на неделю... Достал. Правила ДЛЯ ТЕБЯ лично - никто не отменял. Все ясно?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.