Задача по проверке слов в предложении., Проблема в выделении слова из текста. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача по проверке слов в предложении., Проблема в выделении слова из текста. |
kost85 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Здравсвуйте.
Есть такая задача. Вводится строка. Требуется в ней перебрать все слова и проверить их на что-то. Другими словами вычленить слова из строки. Сначала забивал все слова из строчки в (array [1..n] of string) - все было отлично. Теперь препод хочет что бы я забивал каждое слово в другую строку и проверял ее. Вот не пойму, как сразу в цикле перебора строки получать слово , записывать его в перем. типа string , затем проверять(ну это все под контр-ем), а затем сбрасывать и снова записывать очередное слово... Может кто сталкивался. Заранее огромное спасибо. |
T i m e |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 27 Пол: Мужской Репутация: -1 |
Цитата if s[1] = ' ' then delete(s,1,1);{<<---Зачем? Ведь ты не чистил строку!} Это удаление впереди стоящих пробелов. Цитата if pos(' ',s) > 0 then word := copy(s,1,pos(' ',s)-1) {<<---Допустим..Но получается бесконечный цикл, ведь строка не отчищается!Он берет ближайший пробел!} else word := s; {<<---И тут тоже..Досюда в твоем и не дойдет..} Извините, ошибся просто... конечно там ещё в этом месте надо удалять очередное слово: delete(s,1,pos(' ',s)) Просто быстро писал... не заметил... Цитата if s <> '' then begin Ну тогда и это здесь уже не нужно проверять. Он никогда ведь не пойдёт в это условие с пустой строкой... Сообщение отредактировано: T i m e - -------------------- Time have not meaning. Mind - this is main...
|
Текстовая версия | 26.04.2024 7:59 |