C++で回文文字列を判定する方法は何ですか?
以下は、文字列が回文文字列であるかを判定するためのC++プログラムです。
#include <iostream>
#include <string>
#include <algorithm>
bool isPalindrome(std::string str) {
std::string reversedStr = str;
std::reverse(reversedStr.begin(), reversedStr.end());
return str == reversedStr;
}
int main() {
std::string str;
std::cout << "Enter a string: ";
std::cin >> str;
if (isPalindrome(str)) {
std::cout << str << " is a palindrome." << std::endl;
} else {
std::cout << str << " is not a palindrome." << std::endl;
}
return 0;
}
このプログラムは、まずisPalindromeという関数を定義する。この関数は文字列を受け取り、その文字列が回文であるかどうかを示すブール値を返す。main関数では、ユーザーが文字列を入力し、その文字列が回文かどうかを判断するためにisPalindrome関数を呼び出し、結果を出力する。
プログラムを実行した後、文字列を入力すると、その文字列が回文かどうかがプログラムによって出力されます。