|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.12.2013, 17:49 | #1 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
Повторные вхождения слов
Найти и удалить повторные вхождения слов.
Пример: Входная строка - " Я по два раза раза!!!не повторяю." Выходная строка - " Я по два раза!!!не повторяю." То есть все знаки должны сохраниться. Пробовал разбить строку на слова поместив слова в строковый массив и попарно их сравнивать формирую новую, но при таком подходе знаки не сохраняются. Как я понимаю тогда нужно обрабатывать исключительно входную строку, но я не представляю как это должно выглядеть. |
21.12.2013, 18:16 | #2 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Я бы делал так :
Код:
Код:
Если нужно получить Код:
иначе.. |
21.12.2013, 18:29 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Попрбую перефразировать себя же поддержав Рому.
Код:
I'm learning to live...
|
22.12.2013, 01:49 | #4 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
можете расшифровать что тут написано?
if s[i] in [' ','!','?'] then begin if pos(a[count],copy(s,i,Length(s))<>0 then begin просто на си нужно написать, а это не пойму что |
22.12.2013, 02:28 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
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)) не равна нулю (то есть он в ней есть), то...
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
22.12.2013, 09:43 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Алгоритм почти полностью по посту Ромки.
I'm learning to live...
|
|
22.12.2013, 10:14 | #7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
BDA, тоже забухал? Не удивительно, от такой-то жизни...
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
22.12.2013, 10:47 | #8 |
Форумчанин
Регистрация: 11.10.2012
Сообщений: 409
|
Понял, только проблема
по его алгоритму при входной строке "привет привет физкульт-привет" он получает "привет физкульт-" , а надо "привет физкульт-привет" |
22.12.2013, 10:54 | #9 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Тогда "здрасте, геммор"..
Тогда скажем, что программа будет работь с том, и только в том случае, когда корректно расставлены пробелы. (Тоесть 'привет!привет') быть не может, а вот 'привет! привет' может.. Тогда будем искать ' привет'.. и всё.. Но есть контрпример.. Его не помню.. (Вроде его тоже Аватар придумал..) |
22.12.2013, 11:11 | #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 |