IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача со строками
Subaru
сообщение 2.11.2004 18:22
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


есть строка :'I I I LIVE IN THIS THIS WORLD'
надо чтоб она удалила не-нужные слова (чтоб вышло 'I LIVE IN THIS WORLD')
я не понемаю как проверить есть ли там два одинакового слова один за одним... sad.gif
помогите... rolleyes.gif


--------------------
What Can I Say ? I'm Just a Car !
Need pascal help ? Go to Volvo !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Subaru
сообщение 3.11.2004 23:01
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Подойдет ли такое решение этой задачи:

Код

Program I_Live;
Const
 s: String = 'I I I live in this this world world';

Var
 iNext, iPrev: Byte;
 sNext, sPrev: String;
 one_more: Boolean;
Begin
 s := s + ' ';
 one_more := True;

 iPrev := Pos(' ', s);
 sPrev := Copy(s, 1, Pred(iPrev));
 While one_more Do
   Begin
     Repeat
       iNext := Pos(' ', Copy(s, Succ(iPrev), Length(s) - iPrev)) + iPrev;
       one_more := (iNext <> iPrev);
       If not one_more Then Break;

       sNext := Copy(s, Succ(iPrev), Pred(iNext - iPrev));
       If sPrev = sNext Then
         delete(s, iPrev, iNext - iPrev)
     Until sNext <> sPrev;
     sPrev := sNext; iPrev := iNext
   End;

 s[0] := Chr(Pred(Length(s)));
 WriteLn( 's = ', s );
End.


или ее нужно делать как-нибудь по-другому ?

Сообщение отредактировано: Subaru - 3.11.2004 23:50


--------------------
What Can I Say ? I'm Just a Car !
Need pascal help ? Go to Volvo !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Subaru   задача со строками   2.11.2004 18:22
APAL   Раздели строку на слова, а потом как в массиве - с...   2.11.2004 18:30
FreeMan   Подсказка: чтоб разделять на слова надо искать про...   2.11.2004 18:35
Subaru   :huh: нифига не понел :blink:   2.11.2004 18:39
APAL   Что именно не понял? Кстати, вопрос о разделении ...   2.11.2004 18:40
Subaru   я не понял как Разделить строку на слова.. это тип...   2.11.2004 19:02
Guest   Нет. Строка (по условию) у тебя уже задана. Тебе е...   2.11.2004 19:56
APAL   Какой-то глюк. Предыдущее сообщение - мое.   2.11.2004 19:57
P@sh@   а не проще ли безо всяких массивов просто запомина...   3.11.2004 12:22
APAL   Я же говорил:   3.11.2004 12:38
Subaru   спасибо что всем помогаите но только мне нет.. :(...   3.11.2004 22:37
Digitalator   Тебе сказали все что требуется, для того чтобы нап...   3.11.2004 22:44
Subaru   Подойдет ли такое решение этой задачи: Program I...   3.11.2004 23:01
Digitalator   эта прога неправильно работает, когда одинаковы дв...   3.11.2004 23:35
Subaru   Исправил... А теперь ?   3.11.2004 23:50
Altair   эээ... тот код, что представлен выше работает... ...   4.11.2004 9:08


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"