2

回文数を見つけるコードを書いています。私はこれを使用してコーディング方法も学習しています。これは私が書いたコードです。

#include <iostream>
#include <sstream>
using namespace std;

bool IsPalindromic (int n) {
    int I;
    string Number; //Starting to convert integer to string
    ostringstream convert;
    convert << n;
    Number = convert.str(); //Conversion is complete
    int M = Number.length();
    bool Result = true;
    if (M % 2 == 0)
        I = M / 2;
    else
        I = (M - 1)/2;
    for (int i = 1; i <= I; i++) {
        if (Number.at(i) != Number.at(M-i+1))
            Result = false;
    }
    return Result;
}

int main(int argc, char *argv[]) {
int num;
cout << "Enter an integer:";
    cin >> num;
    cout << IsPalindromic(num) << endl;
    return 0;
}

しかし、それを実行して入力として整数を入力しようとすると、次のエラーが発生します。

libc++abi.dylib: terminate called throwing an exception 
Abort trap: 6

コードのロジックにエラーは見つかりません。問題を特定するのを手伝ってもらえますか? Mac OSX 10.8.4 で g++ を使用してコンパイルしています

4

1 に答える 1