Прервать сигнал от abort (3) (SIGABRT) - PullRequest
0 голосов
/ 15 марта 2019
#include <bits/stdc++.h>

using namespace std;

bool isPalindrome(int sum)
{
    string s1 = to_string(sum);
    string s2 = s1;
    reverse(s2.begin(), s2.end());
    for (long long int i = 0; i < sizeof(s2); i++)
    {
        if (s1[i] != s2[i])
            return false;
    }
    return true;
}

int main()
{
    long long int num, sum, count = 0;
    cin >> num;
    sum = num;
    string s1, s2;

    while (count <= 1000 && sum <= 4294967295)
    {
        s1 = to_string(sum);
        s2 = s1;
        reverse(s2.begin(), s2.end());
        int temp = stoi(s2, 0, 10);
        sum += temp;
        count++;

        if (isPalindrome(sum))
        {
            cout << count << " " << sum << endl;
            return 0;
        }
    }

    cout << "Not Possible" << endl;

    return 0;
}

Почему я получаю Abort signal from abort(3) (SIGABRT)?Я не знаю, что такое SIGABRT.Может кто-нибудь объяснить это?Чего не хватает в доступе к памяти?Или есть какие-то ошибки с этими встроенными функциями?

...