はじめに
この実験では、与えられた文字列が回文かどうかをチェックする C++ プログラムを書く方法を学びます。回文とは、逆順にしたときに元の文字列と同じ文字列です。回文をチェックするには、与えられた文字列を逆順にして元の文字列と比較します。両方の文字列が同じ場合、与えられた文字列は回文であり、そうでなければ回文ではありません。
必要なライブラリをインクルードして main() 関数を定義する
まず、必要なライブラリをインクルードして main() 関数を定義します。
#include <iostream>
#include <string.h>
using namespace std;
int main() {
// コードをここに記述します
return 0;
}
ユーザーから入力文字列を取得する
次に、ユーザーから入力文字列を取得して、文字配列に格納します。
char inputStr[100];
cout << "Enter a string: ";
cin >> inputStr;
入力文字列の長さを取得する
strlen() 関数を使用して、入力文字列の長さを計算します。
int strLength = strlen(inputStr);
逆順文字列用の配列を作成する
次に、逆順文字列用の配列を作成します。
char reverseStr[strLength];
入力文字列を逆順にする
次に、入力文字列を逆順にして、新しく作成した逆順文字列用の配列に格納します。
for(int i = 0; i < strLength; i++) {
reverseStr[i] = inputStr[strLength - 1 - i];
}
元の文字列と逆順の文字列の比較
最後に、元の文字列と逆順の文字列を比較して、入力文字列が回文かどうかを確認します。
if(strcmp(inputStr, reverseStr) == 0) {
cout << inputStr << " is a palindrome." << endl;
} else {
cout << inputStr << " is not a palindrome." << endl;
}
完全なコード
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char inputStr[100];
cout << "Enter a string: ";
cin >> inputStr;
int strLength = strlen(inputStr);
char reverseStr[strLength];
for(int i = 0; i < strLength; i++) {
reverseStr[i] = inputStr[strLength - 1 - i];
}
if(strcmp(inputStr, reverseStr) == 0) {
cout << inputStr << " is a palindrome." << endl;
} else {
cout << inputStr << " is not a palindrome." << endl;
}
return 0;
}
まとめ
この実験では、与えられた文字列が回文かどうかをチェックする C++ プログラムを書く方法を学びました。これで、任意の文字列を回文かどうかを迅速に確認するためにこのプログラムを使用できるようになりました。



