回文数を見つけるコードを書いています。私はこれを使用してコーディング方法も学習しています。これは私が書いたコードです。
#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++ を使用してコンパイルしています