Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 未获得预期的输出…代码意外终止(hackerank堆栈问题)_C++_C++11_Dynamic_Output_Terminate - Fatal编程技术网

C++ 未获得预期的输出…代码意外终止(hackerank堆栈问题)

C++ 未获得预期的输出…代码意外终止(hackerank堆栈问题),c++,c++11,dynamic,output,terminate,C++,C++11,Dynamic,Output,Terminate,我正在与这个代码斗争。程序意外终止。请帮忙 问题链接: 10 1 97 2. 1 20 2. 1 26 1 20 2. 3. 1 91 如果我们在我们的程序中输入上述数字…它不会到达终点,而是中途停止执行 请帮我找到这个问题。。。动态分配或任何功能中是否存在问题…如果您有时间,请访问问题链接并提供帮助..谢谢 class stack { public: int top = -1; int *s; }; void create(stack *st,int n) {

我正在与这个代码斗争。程序意外终止。请帮忙 问题链接:

10 1 97 2. 1 20 2. 1 26 1 20 2. 3. 1 91 如果我们在我们的程序中输入上述数字…它不会到达终点,而是中途停止执行 请帮我找到这个问题。。。动态分配或任何功能中是否存在问题…如果您有时间,请访问问题链接并提供帮助..谢谢

class stack
{
  public:
      int top = -1;
      int *s;
};

void create(stack *st,int n)
{
    st->s = new int[n];
}

void del(stack *st)
{
    st->top--;

}


void push(stack *st,int x)
{
    st->top++;
    st->s[st->top] = x;
    
}


int main()
{
    long int t;
    stack st;
    int choice;
    int number;
    int max =-1;
    
    cin>>t;
    
    create(&st,t);
    
    while(t--)
    {
        cin>>choice;
        
        if(choice == 1)
        {
            cin>>number;
            push(&st,number);
            if(max < number)
                max = number;
        }
        else if(choice == 2)
        {
            del(&st);
        }
        else
        {
           return max;
        }
        
    }
    
    

    return 0;
}

<>你可以在使用C++容器和算法的情况下,在更短和干净的代码中解决上述问题。 是一些自解释的代码:


include的复杂度较低,无需快速I/O即可工作。请检查更好的O1时间复杂度实现。

请重新阅读说明,并检查您在3上的操作。我真的很支持这一点……事实上,这是我在这里的第一个问题……这就是为什么我们永远不要低估调试器的功能。这很酷,但是请远离所有的盖子。可能是因为案例3中的返回最大值。您应该打印值,而不是返回值。我赞成良好的编码风格和stl方法的使用,它从技术上解决了OP的问题:D尽管我怀疑这迟早会导致TLE,因为案例3具有线性时间复杂性。