C++を使用して回文をチェックする方法について説明します。回文は、前から読んでも後ろから読んでも同じ結果になる文字列です。
以下に、シンプルで簡単な方法といくつかのコード例を示します。
方法1: 反転して比較する 回文のチェックには、文字列を反転させて元の文字列と比較する方法があります。以下は、この方法を使用したC++のコード例です。
#include <iostream>
#include <algorithm>
#include <string>
bool isPalindrome(std::string str) {
std::string reversedStr = str;
std::reverse(reversedStr.begin(), reversedStr.end());
return str == reversedStr;
}
int main() {
std::string input;
std::cout << "文字列を入力してください: ";
std::cin >> input;
if (isPalindrome(input)) {
std::cout << "回文です" << std::endl;
} else {
std::cout << "回文ではありません" << std::endl;
}
return 0;
}
このコードでは、isPalindrome
関数が与えられた文字列を反転させ、元の文字列と比較しています。一致すれば回文と判定されます。
方法2: 両端から比較する もう一つの方法として、文字列の両端から順に文字を比較する方法があります。以下は、この方法を使用したC++のコード例です。
#include <iostream>
#include <string>
bool isPalindrome(std::string str) {
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str[i] != str[j]) {
return false;
}
i++;
j--;
}
return true;
}
int main() {
std::string input;
std::cout << "文字列を入力してください: ";
std::cin >> input;
if (isPalindrome(input)) {
std::cout << "回文です" << std::endl;
} else {
std::cout << "回文ではありません" << std::endl;
}
return 0;
}
このコードでは、isPalindrome
関数が文字列の両端から文字を比較し、一致しない場合は回文ではないと判定します。
以上がC++で回文をチェックする方法です。この記事を参考にして、回文チェッカーを実装してみてください。
タグには、C++、文字列、回文、プログラミングといったキーワードを使用しました。