Answer:
The program in C++ is as follows:
#include <bits/stdc++.h>
using namespace std;
int main(){
string sentence,word="";
getline (cin, sentence);
vector<string> for_reverse;
for (int i = 0; i < sentence.length(); i++){
if (sentence[i] == ' ') {
for_reverse.push_back(word);
word = ""; }
else{ word += sentence[i];} }
for_reverse.push_back(word);
sentence="";
for (int i = for_reverse.size() - 1; i > 0; i--){
sentence+=for_reverse[i]+" ";}
sentence+=for_reverse[0];
cout<<sentence<<endl;
return 0;
}
Step-by-step explanation:
This declares sentence and word as strings; word is then initialized to an empty string
string sentence,word="";
This gets input for sentence
getline (cin, sentence);
This creates a string vector to reverse the input sentence
vector<string> for_reverse;
This iterates through the sentence
for (int i = 0; i < sentence.length(); i++){
This pushes each word of the sentence to the vector when space is encountered
if (sentence[i] == ' ') {
for_reverse.push_back(word);
Initialize word to empty string
word = ""; }
If the encountered character is not a blank space, the character is added to the current word
else{ word += sentence[i];} }
This pushes the last word to the vector
for_reverse.push_back(word);
This initializes sentence to an empty string
sentence="";
This iterates through the vector
for (int i = for_reverse.size() - 1; i > 0; i--){
This generates the reversed sentence
sentence+=for_reverse[i]+" ";}
This adds the first word to the end of the sentence
sentence+=for_reverse[0];
Print the sentence
cout<<sentence<<endl;