Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов удовлетворяет маске: ?vi*r.?xt
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;
}
Пример 3.
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов удовлетворяет маске: ?vi*r.?xt
1) vir.txt 2) ovir.txt 3) ovir.xt 4) virr.txt