Написать программу на языке C++ (тема: сложные действия над строками). Дано осмысленное текстове сообщение (т. е. слова, разделённые пробелами и знаками препинания, в конце предложения ставится точка). Вывести только те слова сообщения, которые встречаются в нём более n раз.
std::string src;
std::vector<std::string> arr;
boost::split(arr, src, boost::is_any_of(" "));
std::vector<std::string> reverse;
for (auto it = arr.begin(); it != arr.end(); it++)
reverse.push_back(*it);
std::string res = boost::join(reverse, " ");
И если нужно - удали точку
Сначала надо бы найти точку в строке и обрезать строку по ней, но с этим Вы и сами справитесь А слова в обратоной последовательности вот:
#include <iostream>
#include <string>
#include <sstream>
#include <stack>
int main(){
std::string str;
while ( std::cout << "String: " && std::getline(std::cin, str) && ! str.empty() ){
std::istringstream ist(str);
std::stack<std::string> stk;
while ( ist >> str )
stk.push(str);
while ( ! stk.empty() ){
std::cout << stk.top() << ' ';
stk.pop();
}
std::cout << std::endl;
}
return 0;
}