готовые строки, додумайте |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
готовые строки, додумайте |
Янычар |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: 1 |
короче написал прогу, которая очень хорошо удаляет слово, кторое повторяется в тексте три раза, но надо чтобы программа могла удалить сколько уугодно слов, которые встречаются в ней три раза, подскажите что в нее добаввить для этого, а вот и она сама:
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. |
Bokul |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Sam0784, уточню: удалять надо с конца, чтобы не повлиять на индексы.
Например:
если ты удалишь сначала первою 'б' (индекс - 3), то индекс 9 будет указывать не на 'б', а на пробел. P.S. Янычар, пользуйся тегами! Сообщение отредактировано: Bokul - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Текстовая версия | 19.04.2024 1:24 |