Не могу придумать, как организовать грамотно момент поиска словосочетания
Не используя класс string
Code: https://ideone.com/y9sQRB
Другие языки программирования и технологии
[C++ ] Нахождение словосочетания в тексте
Библиотека cstring либо string.h - это одна и та же библиотека с разными именами. Для работы с СИ строками, то есть массивами символов. Не string! Там есть функции, которые вам могут пригодится, либо самому реализовать их (если так охота).
strlen() - возвращает длину строки
strtok() - разбивает текст на токены (слова)
strcmp() - сравнивает строки
strcpy() - копирует строку вместе с завершающим нулем из источника в приемник.
Как я вижу постановку задачи:
Первое нужно определится какое словосочетание ищем, например "солнцем полянах раскинулись дубы". Как вариант создаем массив слов словосочетания
char const *arr[] = {"солнцем", "полянах", "раскинулись", "дубы"};
при помощи strtok() текст начинаем разбивать на токены
начинаем сравнивать слово полученое в strtok с первым словом в массиве функцией strcmp
потом, если совпало проверяем следующее слово с следующим словом и т. д. После того как совпали все слова, нужно выставить какую нибудь bool переменную в true. Там правда нужно будет придумать хитрый механизм, при котором, если следующее слово не совпало начинать сначала. Но в принципе если посидеть немного, то вполне. Ваш код даже не читал, слишком много "Букавак", нет времени сейчас.
https://ideone.com/ZGDdrt
strlen() - возвращает длину строки
strtok() - разбивает текст на токены (слова)
strcmp() - сравнивает строки
strcpy() - копирует строку вместе с завершающим нулем из источника в приемник.
Как я вижу постановку задачи:
Первое нужно определится какое словосочетание ищем, например "солнцем полянах раскинулись дубы". Как вариант создаем массив слов словосочетания
char const *arr[] = {"солнцем", "полянах", "раскинулись", "дубы"};
при помощи strtok() текст начинаем разбивать на токены
начинаем сравнивать слово полученое в strtok с первым словом в массиве функцией strcmp
потом, если совпало проверяем следующее слово с следующим словом и т. д. После того как совпали все слова, нужно выставить какую нибудь bool переменную в true. Там правда нужно будет придумать хитрый механизм, при котором, если следующее слово не совпало начинать сначала. Но в принципе если посидеть немного, то вполне. Ваш код даже не читал, слишком много "Букавак", нет времени сейчас.
https://ideone.com/ZGDdrt
Как грамотно посрать не используя туалет.
strstr, например?
вообще в самом деле почитай документацию по string.h, а то у тебя там есть места, где и strcmp можно заюзать, и strlen, а ты вместо этого какие-то костыли городишь, к тому же нерабочие
алсо
if ((text[i + j] == key_phrase[j]) == false)
ржака)))
вообще в самом деле почитай документацию по string.h, а то у тебя там есть места, где и strcmp можно заюзать, и strlen, а ты вместо этого какие-то костыли городишь, к тому же нерабочие
алсо
if ((text[i + j] == key_phrase[j]) == false)
ржака)))
На C


.
Похожие вопросы
- Как в C++ приравнять переменную и текст? А то такую запись нельзя. А без этого задачу не решить
- где в c++ free proffesional 5 прописывать пути нахождения библиотек? искал в tools но чето не могу найти ((
- Нахождение выхода из лабиринта на языке C++
- c++ сильно завис алгоритм нахождения простых чисел - пару вопросов ?
- Помогите написать программу на C++. Удалить из текста символы «_» и подсчитать длину сформированного текста
- C# Сделать программу которая разделяет текст на предложения.
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Помогите срочно C#
- Помогите исправить ошибку в программе (c++).
- Зачем нужен C++, если есть C?