![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]()
Найти и удалить повторные вхождения слов.
Пример: Входная строка - " Я по два раза раза!!!не повторяю." Выходная строка - " Я по два раза!!!не повторяю." То есть все знаки должны сохраниться. Пробовал разбить строку на слова поместив слова в строковый массив и попарно их сравнивать формирую новую, но при таком подходе знаки не сохраняются. Как я понимаю тогда нужно обрабатывать исключительно входную строку, но я не представляю как это должно выглядеть. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
Я бы делал так :
Код:
Код:
Если нужно получить Код:
иначе.. |
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Попрбую перефразировать себя же поддержав Рому.
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]()
можете расшифровать что тут написано?
if s[i] in [' ','!','?'] then begin if pos(a[count],copy(s,i,Length(s))<>0 then begin просто на си нужно написать, а это не пойму что |
![]() |
![]() |
![]() |
#5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
if s[i] in [' ','!','?'] then - если символ s[i] равен пробелу, восклицательному или вопросительному знаку, то...
if pos(a[count],copy(s,i,Length(s)))<>0 then - если позиция символа a[count] в строке copy(s,i,Length(s)) не равна нулю (то есть он в ней есть), то...
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Алгоритм почти полностью по посту Ромки.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
BDA, тоже забухал?
![]()
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
![]()
Понял, только проблема
по его алгоритму при входной строке "привет привет физкульт-привет" он получает "привет физкульт-" , а надо "привет физкульт-привет" |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
Тогда "здрасте, геммор"..
Тогда скажем, что программа будет работь с том, и только в том случае, когда корректно расставлены пробелы. (Тоесть 'привет!привет') быть не может, а вот 'привет! привет' может.. Тогда будем искать ' привет'.. и всё.. Но есть контрпример.. Его не помню.. (Вроде его тоже Аватар придумал..) |
![]() |
![]() |
![]() |
#10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Да я тоже склонен в таком случае в четкой расстановке знаков между словами.
Или тогда добавь к исходной строке пробел и делай поиск по подстроке+пробел. Но все равно я бы уделил внимание расстановке пробелов, если это не противоречит заданию.
I'm learning to live...
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить из строки повторные вхождения слов | Tim Grey | Общие вопросы C/C++ | 8 | 15.12.2012 14:56 |
Pascal ABC.Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложения. | powersej | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 13.12.2012 21:07 |
Pascal ABC.Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложения | powersej | Помощь студентам | 0 | 13.12.2012 20:41 |
Дана последовательность слов разделенных пробелами, удалить из нее повторные вхождения слов.С++ | Bullrock | Помощь студентам | 4 | 01.03.2012 13:16 |
С++. Файлы. Исключить из первого повторные вхождения | Анастасия18 | Помощь студентам | 0 | 21.05.2011 18:16 |