#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char text[] = {"Хороши русские леса! Смолою пахнет сосновый бор. Под самыми тучами шумят \
зеленые вершины, метут синеву неба. Точно белые красавицы глядят в воду \
кудрявые березки. На залитых солнцем полянах раскинулись дубы. Каждым \
листочком дрожит осинка. Яркий осенний наряд у клена. Высокие стройные \
ели вытянули острые макушки. В тенистых дубравах поселились певчие птицы.\
Тихие речушки протекают в лесной глуши..."};
char const* wordArray[] = {"солнцем", "полянах", "раскинулись", "дубы"};
// setlocale(LC_ALL, "rus"); // раскоментировать, если не правильно отображает русские буквы
char const* pDelimiter = {" ,.!?:;"};
bool its_ok = false;
char * pWord = nullptr;
pWord = strtok(text, pDelimiter);
while(pWord)
{
static int i = 0; // static только для того что бы i = 0 не обнулялась на каждой итерации цикла,
if(strcmp(pWord, wordArray[i]) == 0) // либо переменную i вынести за пределы цикла, тогда без static можно
{
if(i == 3) // три в данном случае это количество слов в словосочетании ее можно как нибудь через const int оформить
{
its_ok = true;
break;
}
++i;
}
else
{
i = 0;
if(strcmp(pWord, wordArray[i]) == 0)
{
++i; //на тот случай если каое нибудь второе слово не совпало а текущее слово равно первому
}
}
pWord = strtok(nullptr, pDelimiter);
}
std::cout << (its_ok? "true" : "false") << "\n";
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGNoYXIgdGV4dFtdID0geyLQpdC+0YDQvtGI0Lgg0YDRg9GB0YHQutC40LUg0LvQtdGB0LAhINCh0LzQvtC70L7RjiDQv9Cw0YXQvdC10YIg0YHQvtGB0L3QvtCy0YvQuSDQsdC+0YAuINCf0L7QtCDRgdCw0LzRi9C80Lgg0YLRg9GH0LDQvNC4INGI0YPQvNGP0YIgXAogICAgICAgINC30LXQu9C10L3Ri9C1INCy0LXRgNGI0LjQvdGLLCDQvNC10YLRg9GCINGB0LjQvdC10LLRgyDQvdC10LHQsC4g0KLQvtGH0L3QviDQsdC10LvRi9C1INC60YDQsNGB0LDQstC40YbRiyDQs9C70Y/QtNGP0YIg0LIg0LLQvtC00YMgXAogICAgICAgINC60YPQtNGA0Y/QstGL0LUg0LHQtdGA0LXQt9C60LguINCd0LAg0LfQsNC70LjRgtGL0YUg0YHQvtC70L3RhtC10Lwg0L/QvtC70Y/QvdCw0YUg0YDQsNGB0LrQuNC90YPQu9C40YHRjCDQtNGD0LHRiy4g0JrQsNC20LTRi9C8IFwKICAgICAgICDQu9C40YHRgtC+0YfQutC+0Lwg0LTRgNC+0LbQuNGCINC+0YHQuNC90LrQsC4g0K/RgNC60LjQuSDQvtGB0LXQvdC90LjQuSDQvdCw0YDRj9C0INGDINC60LvQtdC90LAuINCS0YvRgdC+0LrQuNC1INGB0YLRgNC+0LnQvdGL0LUgXAogICAgICAgINC10LvQuCDQstGL0YLRj9C90YPQu9C4INC+0YHRgtGA0YvQtSDQvNCw0LrRg9GI0LrQuC4g0JIg0YLQtdC90LjRgdGC0YvRhSDQtNGD0LHRgNCw0LLQsNGFINC/0L7RgdC10LvQuNC70LjRgdGMINC/0LXQstGH0LjQtSDQv9GC0LjRhtGLLlwKICAgICAgICDQotC40YXQuNC1INGA0LXRh9GD0YjQutC4INC/0YDQvtGC0LXQutCw0Y7RgiDQsiDQu9C10YHQvdC+0Lkg0LPQu9GD0YjQuC4uLiJ9OwoKICAgIGNoYXIgY29uc3QqIHdvcmRBcnJheVtdID0geyLRgdC+0LvQvdGG0LXQvCIsICLQv9C+0LvRj9C90LDRhSIsICLRgNCw0YHQutC40L3Rg9C70LjRgdGMIiwgItC00YPQsdGLIn07Ci8vICAgIHNldGxvY2FsZShMQ19BTEwsICJydXMiKTsgLy8g0YDQsNGB0LrQvtC80LXQvdGC0LjRgNC+0LLQsNGC0YwsINC10YHQu9C4INC90LUg0L/RgNCw0LLQuNC70YzQvdC+INC+0YLQvtCx0YDQsNC20LDQtdGCINGA0YPRgdGB0LrQuNC1INCx0YPQutCy0YsKCiAgICBjaGFyIGNvbnN0KiBwRGVsaW1pdGVyID0geyIgLC4hPzo7In07CgogICAgYm9vbCBpdHNfb2sgPSBmYWxzZTsKICAgIGNoYXIgKiBwV29yZCA9IG51bGxwdHI7CgoKICAgIHBXb3JkID0gc3RydG9rKHRleHQsIHBEZWxpbWl0ZXIpOwoKICAgIHdoaWxlKHBXb3JkKQogICAgewogICAgICAgIHN0YXRpYyBpbnQgaSA9IDA7ICAgLy8gc3RhdGljINGC0L7Qu9GM0LrQviDQtNC70Y8g0YLQvtCz0L4g0YfRgtC+INCx0YsgaSA9IDAg0L3QtSDQvtCx0L3Rg9C70Y/Qu9Cw0YHRjCDQvdCwINC60LDQttC00L7QuSDQuNGC0LXRgNCw0YbQuNC4INGG0LjQutC70LAsCiAgICAgICAgaWYoc3RyY21wKHBXb3JkLCB3b3JkQXJyYXlbaV0pID09IDApIC8vICDQu9C40LHQviDQv9C10YDQtdC80LXQvdC90YPRjiBpINCy0YvQvdC10YHRgtC4INC30LAg0L/RgNC10LTQtdC70Ysg0YbQuNC60LvQsCwg0YLQvtCz0LTQsCDQsdC10Lcgc3RhdGljINC80L7QttC90L4KICAgICAgICB7CiAgICAgICAgICAgIGlmKGkgPT0gMykgLy8g0YLRgNC4INCyINC00LDQvdC90L7QvCDRgdC70YPRh9Cw0LUg0Y3RgtC+INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LvQvtCyINCyINGB0LvQvtCy0L7RgdC+0YfQtdGC0LDQvdC40Lgg0LXQtSDQvNC+0LbQvdC+INC60LDQuiDQvdC40LHRg9C00Ywg0YfQtdGA0LXQtyBjb25zdCBpbnQg0L7RhNC+0YDQvNC40YLRjAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpdHNfb2sgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgKytpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpID0gMDsKICAgICAgICAgICAgaWYoc3RyY21wKHBXb3JkLCB3b3JkQXJyYXlbaV0pID09IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICsraTsgLy/QvdCwINGC0L7RgiDRgdC70YPRh9Cw0Lkg0LXRgdC70Lgg0LrQsNC+0LUg0L3QuNCx0YPQtNGMINCy0YLQvtGA0L7QtSDRgdC70L7QstC+INC90LUg0YHQvtCy0L/QsNC70L4g0LAg0YLQtdC60YPRidC10LUg0YHQu9C+0LLQviDRgNCw0LLQvdC+INC/0LXRgNCy0L7QvNGDCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcFdvcmQgPSBzdHJ0b2sobnVsbHB0ciwgcERlbGltaXRlcik7CiAgICB9CgogICAgc3RkOjpjb3V0IDw8IChpdHNfb2s/ICJ0cnVlIiA6ICJmYWxzZSIpIDw8ICJcbiI7CgogICAgc3lzdGVtKCJwYXVzZSIpOwogICAgcmV0dXJuIDA7Cn0K