##Using the above:
Using the above:
##Using the above:
Using the above:
std::transform(std::begin(inputString), std::end(inputString), // Source
std::begin(inputString), // Destination (can be source) as long as it it is already large enough.
[&loc](unsigned char c){return std::tolower(c, loc)}
);
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
std::vector <char> reversedReturn;
for (auto loop = std::rbegin(inputVec), loop != std::endrend(inputVec); ++loop) {
reversedReturn.push_back(*loop);
}
return reversedReturn;
}
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
return std::vector<char>(std::rbegin(inputVec), std::endrend(inputVec));
}
std::transform(std::begin(inputString), std::end(inputString), // Source
std::begin(inputString), // Destination (can be source) as long as it it is already large enough.
[&loc](char c){return std::tolower(c, loc)}
);
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
std::vector <char> reversedReturn;
for (auto loop = std::rbegin(inputVec), loop != std::end(inputVec); ++loop) {
reversedReturn.push_back(*loop);
}
return reversedReturn;
}
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
return std::vector<char>(std::rbegin(inputVec), std::end(inputVec));
}
std::transform(std::begin(inputString), std::end(inputString), // Source
std::begin(inputString), // Destination (can be source) as long as it it is already large enough.
[&loc](unsigned char c){return std::tolower(c, loc)}
);
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
std::vector <char> reversedReturn;
for (auto loop = std::rbegin(inputVec), loop != std::rend(inputVec); ++loop) {
reversedReturn.push_back(*loop);
}
return reversedReturn;
}
std::vector <char> reverseVec(std::vector<char> const& inputVec) {
return std::vector<char>(std::rbegin(inputVec), std::rend(inputVec));
}
##Using the above:
int main()
{
std::cout << "Enter the string you would like reversed: ";
std::string userInput;
std::getline(std::cin, userInput, '\n');
auto newEnd = std::remove(std::begin(userInput), std::end(userInput), ' ');
std::erase(newEnd, std::end(userInput));
std::transform(std::begin(userInput), std::end(userInput),
std::begin(userInput),
[](unsigned char* c){std::tolower(c);});
std::string reversedInput(std::rbegin(userInput), std::rend(userInput));
std::cout << "Reversed: " << reversedInput << "\n"
<< "Palindrome: "
<< ((userInput == reversedInput) ? "Yes" : "No")
<< "\n";
}
##Using the above:
int main()
{
std::cout << "Enter the string you would like reversed: ";
std::string userInput;
std::getline(std::cin, userInput, '\n');
auto newEnd = std::remove(std::begin(userInput), std::end(userInput), ' ');
std::erase(newEnd, std::end(userInput));
std::transform(std::begin(userInput), std::end(userInput),
std::begin(userInput),
[](unsigned char* c){std::tolower(c);});
std::string reversedInput(std::rbegin(userInput), std::rend(userInput));
std::cout << "Reversed: " << reversedInput << "\n"
<< "Palindrome: "
<< ((userInput == reversedInput) ? "Yes" : "No")
<< "\n";
}
Loading
lang-cpp