14 / 14 / 16
Регистрация: 26.01.2015
Сообщений: 213
|
||||||
1 | ||||||
Поиск словосочетания в тексте25.12.2016, 21:47. Показов 3375. Ответов 4
Метки нет (Все метки)
Доброго времени суток!
Смог решить такую задачу, как нахождение слова в тексте и вывод его посимвольно, решил усложнить задачу и вывести искомое словосочетание. Но вот тут появилась проблема - на выводе по какой-то причине урезаются символы и ещё есть один момент, который отмечу в коде в комментарии.
Though it was winter Vadim Petrovich, the agronomist of the farm, had a busy day last Tuesday. He began his morning with the radio, he listened to the news. At half past seven he got up, washed, did his morning exercises at an open window, dressed and had breakfast. Ставим символ '#' и вводим словосочетание из текста: "did his". Но в ответе у меня посимвольно выводится только "did h". Не понимаю, почему?
0
|
25.12.2016, 21:47 | |
Ответы с готовыми решениями:
4
Поиск словосочетания в тексте, и возврат текста до знака препинания Работа со строками: в тексте поменять местами заданные словосочетания Поиск словосочетания в строке Поиск в тексте DOC-файлов последовательностей символов по шаблону и поиск найденных в TXT-файле (с логом) |
74 / 71 / 67
Регистрация: 18.09.2015
Сообщений: 234
|
||||||
25.12.2016, 22:11 | 2 | |||||
Потому что text[res]==text[res+ch.size()] в данном случае букафка i == букафке i из слова morning
Добавлено через 2 минуты
0
|
14 / 14 / 16
Регистрация: 26.01.2015
Сообщений: 213
|
|
25.12.2016, 22:57 [ТС] | 3 |
amaralikyr, спасибо, всё получилось. Но я не понял, почему мой алгоритм работал некорректно? Почему моя i=i(morning)?
А без .ignore() почему сразу перескакивает на рузельтат, не давая ввести искомое словосочетание?
0
|
74 / 71 / 67
Регистрация: 18.09.2015
Сообщений: 234
|
|
25.12.2016, 23:28 | 4 |
Сообщение было отмечено Ofelion как решение
Решение
Считывание строки getline
тут у меня был похожий вопрос, но увы мне предложили только решение без разъяснений, так что я не знаю)) потому что здесь с каждым разом идет смещение вправо text[res]!=text[res+ch.size()] res == 0 did his morning d != ' ' <- (0 + ch.size()) 7 буква(пробел в данном случае ) res++ res == 1 did his morning i != 'h' <- (1 + ch.size()) 8 буква res++ ... res == 5 did his morning i == 'i' ("i" в слове his по счету 5, 5 + 7 = 12, 12 буква по счет в этой строке "i" из слова morning) цикл обрывается
1
|
14 / 14 / 16
Регистрация: 26.01.2015
Сообщений: 213
|
|
25.12.2016, 23:59 [ТС] | 5 |
amaralikyr, Спасибо большое!
0
|
25.12.2016, 23:59 | |
25.12.2016, 23:59 | |
Помогаю со студенческими работами здесь
5
Поиск в тексте Поиск в тексте Поиск в тексте Поиск в тексте Поиск в тексте Поиск в тексте. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |