繁体   English   中英

C ++程序崩溃

[英]C++ Program Crashing

嗨,大家好,我是C ++的新手,所以我在写程序,效果很好,但是有问题。 每当我输入大于100的数字时,程序就会崩溃,而且我也不知道为什么。 有人可以帮我吗?

程序代码:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  int i = 10;

  while(i > 0)
  {
    i--;

    int b = 0, c = 1, d = 0, e, number, how = 0, number1, start, to, number2, split1, split2, mass, start1 = 0, start2 = 0, number3, how1, number4, number5;

    cout << "\nIveskite skaiciu \n";
    cin >> number;
    cout << "\n";

    number1 = number;

    while(number1 > 0)
    {
        number1 = number1 / 10;
        how = how + 1;
    }

    how1 = how - 1;
    start = pow(10, (how - 1));
    to = pow(10, how);
    mass = to - start;
    number2 = start - 1;
    int split[mass][mass], numbers[mass], ok[mass];

    while(start1 < mass)
    {
        start1++;

        e = number2 + start1;

        numbers[start1] = e;
        split[start1][0] = e;
    }

    while(start2 < mass)
    {
        start2++;

        number3 = numbers[start2];

        d = 0;
        b = 0;
        c = 1;

        while(d <= how1)
        {
            d++;

            split1 = number3%10;
            split2 = number3 / 10;
            number3 = split2;
            split[start2][d] = split1;
            number4 = b + split[start2][d];
            b = number4;
            number5 = c * split[start2][d];;
            c = number5;

        }

    if(number4 == number5)
    {
        ok[mass] = numbers[start2];

        cout << number4 << " " << number5 << " >" << ok[mass] << endl;
    }
  }
}

在我看来,它的2D阵列拆分对您的堆栈来说太大了。 您可能会尝试按照此处的建议动态分配它: 如何处理大型2D数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM