C++.Помогите,пожалуйста.
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Перебрал 2-3 алгоритма поиска,и оба были забракованы...Помогите пожалуйста описать процедуру поиска или с написанием алгоритма.Есть два файла:текст и словарь,где несколько слов.
Например,дан текс:Вот над леСОМ взошла ЛУНА – одноглазый светоФОР. ЕЛЬник, кажется, залит таинственным сиянием, уПАЛ ТУСклый свет на плес.
В словаре слова близкие по тематике:Сом,Луна,Форель,Палтус.
Необходимо найти слова в тексте.
Например,дан текс:Вот над леСОМ взошла ЛУНА – одноглазый светоФОР. ЕЛЬник, кажется, залит таинственным сиянием, уПАЛ ТУСклый свет на плес.
В словаре слова близкие по тематике:Сом,Луна,Форель,Палтус.
Необходимо найти слова в тексте.
переводишь текст в нижний регистр, потом попорядку ищешь все слова из словаря
Допустим,я перевел текст в нижней регистр.Дальще возникает трудность:как осуществить поиск,не обращая внимание на пробелы,точки,запятые.
А также в конце строки изменять индекс и указатель на новую строку,если есть совпадения в конце предыдущей.
А также в конце строки изменять индекс и указатель на новую строку,если есть совпадения в конце предыдущей.
Можно все в один одномерный массив заталкать
или просто добавить пару проверок
или просто добавить пару проверок
Создаем строку. Идем по тексту: если очередной символ - буква, записываем ее в строку. Так наращиваем строку до размера, скажем, 250 символов. Потом ищем в строке слова из словаря (функция Pos). Если текст еще не закончился - обрезаем строку, скажем, до 10 последних символов и опять наращиваем
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Допустим,нашли мы искомые слова,но их надо как-то выделить в тексте,другим цветом например,и я не вижу спасоба,как это можно сделать,если воспользоваться предложенным методом...
Создаешь еще один массив(например, а). Потом когда загоняешь буквы в одну строку в массив а записываешь номер буквы в тексте
А есть другой вариант? Потому что я плохо понимаю,как можно загнать буквы в одну строку,найти в ней нужное слово,и потом еще и занести в массив А индекс этой буквы в тексте...drummer писал(а):Создаешь еще один массив(например, а). Потом когда загоняешь буквы в одну строку в массив а записываешь номер буквы в тексте
Собрать буквы в строку - RTFM
Нахождение слова в строке - есть специальная функция (в Си вроде бы strstr) - RTFM
Добавление числа в массив - RTFM
Нахождение слова в строке - есть специальная функция (в Си вроде бы strstr) - RTFM
Добавление числа в массив - RTFM
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Как собрать в строку буквы,найти слово и добавить числа в массив я понимаю.Мне не понятно другое.Добавили мы в строку буквы,в массив А добавили ее номер.В строке мы нашли искомое слово.А как дальше связать индексы нужных букв из строки и их индексы в тексте?