C++ String Exercises: Reverse the words in a string that have odd lengths
C++ String: Exercise-35 with Solution
Write a C++ program to reverse all words that have odd lengths in a string.
Test Data:
("Exercises Practice Solution" ) -> "sesicrexE Practice Solution"
("The quick brown fox jumps over the lazy dog") -> "ehT kciuq nworb xof spmuj over eht lazy dog."
Sample Solution:
C++ Code:
#include <bits/stdc++.h> // Includes all standard libraries
using namespace std; // Using the standard namespace
// Function to reverse words with odd lengths in the input string 's'
string test(string s) {
stringstream str(s); // Create a stringstream object 'str' with string 's'
string temp, result(""); // Declare strings to store temporary values and the final result
// Loop through the words separated by spaces in the stringstream
while (getline(str, temp, ' ')) {
// Check if the length of the word is odd (using bitwise AND operation)
if ((temp.length() & 1) == 1)
reverse(temp.begin(), temp.end()); // Reverse the word if its length is odd
result += temp + " "; // Append the word to the result string with a space
}
result.pop_back(); // Remove the extra space at the end
return result; // Return the modified string
}
int main() {
// Test cases
string text = "Exercises Practice Solution";
cout << "String: " << text;
cout << "\nReverse the words in the said string that have odd lengths:\n";
cout << test(text) << endl; // Display the modified string
text = "The quick brown fox jumps over the lazy dog.";
cout << "\nString: " << text;
cout << "\nReverse the words in the said string that have odd lengths:\n";
cout << test(text) << endl; // Display the modified string
}
Sample Output:
String: Exercises Practice Solution Reverse the words in the said string that have odd lengths: sesicrexE Practice Solution String: The quick brown fox jumps over the lazy dog. Reverse the words in the said string that have odd lengths: ehT kciuq nworb xof spmuj over eht lazy dog.
Flowchart:
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous C++ Exercise: Remove a word from a given string.
Next C++ Exercise: Check two consecutive, identical letters in a word.What is the difficulty level of this exercise?
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/cpp-exercises/string/cpp-string-exercise-35.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics