Другие языки программирования и технологии

[C++ ] Нахождение словосочетания в тексте

Не могу придумать, как организовать грамотно момент поиска словосочетания
Не используя класс string
Code: https://ideone.com/y9sQRB
Олегыч *****
Олегыч *****
19
Библиотека cstring либо string.h - это одна и та же библиотека с разными именами. Для работы с СИ строками, то есть массивами символов. Не string! Там есть функции, которые вам могут пригодится, либо самому реализовать их (если так охота).
strlen() - возвращает длину строки
strtok() - разбивает текст на токены (слова)
strcmp() - сравнивает строки
strcpy() - копирует строку вместе с завершающим нулем из источника в приемник.

Как я вижу постановку задачи:
Первое нужно определится какое словосочетание ищем, например "солнцем полянах раскинулись дубы". Как вариант создаем массив слов словосочетания
char const *arr[] = {"солнцем", "полянах", "раскинулись", "дубы"};
при помощи strtok() текст начинаем разбивать на токены
начинаем сравнивать слово полученое в strtok с первым словом в массиве функцией strcmp
потом, если совпало проверяем следующее слово с следующим словом и т. д. После того как совпали все слова, нужно выставить какую нибудь bool переменную в true. Там правда нужно будет придумать хитрый механизм, при котором, если следующее слово не совпало начинать сначала. Но в принципе если посидеть немного, то вполне. Ваш код даже не читал, слишком много "Букавак", нет времени сейчас.
https://ideone.com/ZGDdrt
Андрей Вигерь
Андрей Вигерь
15 408
Лучший ответ
Как грамотно посрать не используя туалет.
Кирилл Палий
Кирилл Палий
92 464
strstr, например?
вообще в самом деле почитай документацию по string.h, а то у тебя там есть места, где и strcmp можно заюзать, и strlen, а ты вместо этого какие-то костыли городишь, к тому же нерабочие

алсо
if ((text[i + j] == key_phrase[j]) == false)
ржака)))
На C
Роман Мулеев
Роман Мулеев
3 568