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;
program Prog;
var i, MinElement: Integer;
arr: array[1..15] of Integer;
begin
{ задаем значение минимального элемента. изначально
оно дожно быть максимально возможным, так как мы будем
все элементы с ним сравнить и вычислять, какой из них наименьший.
для этого после того, как мы нашли элемент меньше чем имеющийся минимум,
то мы этот минимум изменяем на найденное нами число }
MinElement:=High(Integer); { т.к. будем работать с Integer, то максимум будем брать у Integer,
но вообще еще можно присвоить ему значение первого элемента массива и сравнивать потом с ним }
randomize; { это чтоб заполнить рандом. числами }
// запоолнение массива рандомом
for i:=1 to 15 do begin
arr[i]:=random(100); { для примера числа будут от 0 до 99 }
{ здесь мы как раз сравниваем с имеющимся минимум и меняем его,
если нашли элемент меньше }
if arr[i]<MinElement then
MinElement:=arr[i]
end;
// вывод всего массива
for i:=1 to 15 do
write(arr[i], ' ');
writeln;
// вывод минимума
writeln('Минимальный элемент: ', MinElement);
end.
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;
}
program Prog;
var i, MinElement: Integer;
arr: array[1..15] of Integer;
begin
{ задаем значение минимального элемента. изначально
оно дожно быть максимально возможным, так как мы будем
все элементы с ним сравнить и вычислять, какой из них наименьший.
для этого после того, как мы нашли элемент меньше чем имеющийся минимум,
то мы этот минимум изменяем на найденное нами число }
MinElement:=High(Integer); { т.к. будем работать с Integer, то максимум будем брать у Integer,
но вообще еще можно присвоить ему значение первого элемента массива и сравнивать потом с ним }
randomize; { это чтоб заполнить рандом. числами }
// запоолнение массива рандомом
for i:=1 to 15 do begin
arr[i]:=random(100); { для примера числа будут от 0 до 99 }
{ здесь мы как раз сравниваем с имеющимся минимум и меняем его,
если нашли элемент меньше }
if arr[i]<MinElement then
MinElement:=arr[i]
end;
// вывод всего массива
for i:=1 to 15 do
write(arr[i], ' ');
writeln;
// вывод минимума
writeln('Минимальный элемент: ', MinElement);
end.