Судя по названию, я как бы сделал свою программу довольно сложным способом. НО! Я мог бы также спросить в любом случае xDПоиск символа в строке в векторе
Это простая программа, которую я сделал в ответ на вопрос 3-3 ускоренного C++, который, на мой взгляд, является удивительной книгой.
Я создал вектор:
vector<string> countEm;
Это принимает все допустимые строки. Поэтому у меня есть вектор, содержащий элементы строк.
Далее я создал функцию
int toLowerWords(vector<string> &vec)
{
for(int loop = 0; loop < vec.size(); loop++)
transform(vec[loop].begin(), vec[loop].end(),
vec[loop].begin(), ::tolower);
, который разделяет входной сигнал на все строчные символы для облегчения подсчета голосов. Все идет нормально.
Я создал третью и последнюю функцию, чтобы на самом деле слова, и вот где я застрял.
int counter(vector<string> &vec)
{
for(int loop = 0; loop < vec.size(); loop++)
for(int secLoop = 0; secLoop < vec[loop].size(); secLoop++)
{
if(vec[loop][secLoop] == ' ')
Это выглядит просто смешно. Использование двумерного массива для вызова символов вектора до тех пор, пока я не найду пробел. Смешной. Я не считаю, что это изящное или даже жизнеспособное решение. Если бы это было жизнеспособное решение, я бы затем отступил от пробела и скопировал все символы, которые я нашел в отдельном векторе, и подсчитал те.
Мой вопрос тогда есть. Как я могу рассеять вектор строк на отдельные слова, чтобы я мог их сосчитать? Я думал об использовании strchr, но он не дал мне никаких прозрений.
Решение по Нилу:
stringstream ss(input);
while(ss >> buffer)
countEm.push_back(buffer);
Из того, что я мог легко сосчитать (повторяющиеся) слова.
Тогда я сделал решение через Вильгельм, что я отправлю сообщение после того, как перезаписал его, так как я случайно удалил это решение! Глупый из меня, но я отправлю это, как только я его снова напишу. ^^
Я хочу поблагодарить всех вас за ваш вклад! Решения работали, и я стал немного лучше программистом. Если бы я мог проголосовать за ваши вещи, тогда я бы: P Как только я смогу, я буду! И еще раз спасибо!
Эй! Я никогда не использовал istringstream, поэтому я действительно не знаю, какую магию вы здесь работаете, но я дам вам знать, смогу ли я решить проблему с этим решением ^^ Так спасибо за это! Как и выше, я буду указывать положительный результат, как только у меня будет разрешение на это. – IAE