Написать программу на языке C++ (тема: сложные действия над строками). Дано осмысленное текстове сообщение (т. е. слова, разделённые пробелами и знаками препинания, в конце предложения ставится точка). Вывести только те слова сообщения, которые встречаются в нём более n раз.

1Радуга1 1Радуга1    2   10.01.2022 00:35    5

Ответы
Dreamer0 Dreamer0  10.01.2022 01:00

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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика