C++での回文チェッカーの実装方法


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++、文字列、回文、プログラミングといったキーワードを使用しました。