在SPOJ上获取运行时错误(SIGSEGV),无法找出我的代码有什么问题

古尔山·泰尔卡尔

我知道以前曾问过这种类型的问题,但我找不到解决方案,我知道它是无效的内存引用错误或数组超出范围,但我似乎找不到我的错误的原因码。我只是在SPOJ上尝试过此问题,那是“转换表达式” https://www.spoj.com/problems/ONP/,我所有的测试用例都正确!

这是我的代码:

#include <bits/stdc++.h>
#include<string>
using namespace std;


int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long int t;
string str;
std::stack<char> f ;
cin>>t;
while(t--){
    cin>>str;
    string ans="";
    for(int i=0;i<str.size();i++){
        switch(str[i]){
            case '(':break;
            case '+':
            case '*':
            case '-':
            case '^':
               f.push(str[i]);
               break;
            case ')':
               ans+=f.top();
               f.pop();
               break;
            default:
               ans+=str[i];
               break;
        }

        }
        cout<<ans<<endl;
        
    }

return 0;
}
adrsh23
#include <bits/stdc++.h>
using namespace std;


int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long int t;
cin>>t;
while(t--){
    string str;
    std::stack<char> f ;
    cin>>str;
    string ans="";
    for(int i=0;i<str.size();i++){
        switch(str[i]){
            case '(':
                break;
            case '+':
            case '*':
            case '/': // Change 1
            case '-':
            case '^':
               f.push(str[i]);
               break;
            case ')':
            if(f.size()>0){  // Change 2
               ans+=f.top();
               f.pop();
            }
               break;
            default:
               ans+=str[i];
               break;
        }
        }
        if(f.size()>0){
            while(f.size()>0){
                ans+=f.top();
                f.pop();
            }
        }
        cout<<ans<<endl;
        
    }

return 0;
}

您的代码中有两个错误

  1. 您忘记添加“ /”(这将导致WA)
  2. 如果堆栈为空,则您的代码会将其添加到字符串中并弹出空堆栈

(我对您的代码做了一些更改)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的VBA代码有什么问题(我收到运行时错误9)

我的代码有什么问题,因为没有错误,但是我无法运行它?

我的代码在Tkinter上运行有什么问题?

我收到运行时错误NZEC请告诉我是什么问题

SPOJ上的NZEC运行时错误

谁能帮我找出我的代码有什么问题?

Django错误代码无法找出是什么问题

试图找出我的代码有什么问题

无法找出我的代码有什么问题,Javascrips/html/css

该代码在我的系统上运行正常,但在USACO上给出了分段错误。有什么问题吗?

无法弄清楚我的程序在spoj而不是ideone上给出运行时错误的原因

获取我的python代码的运行时错误

为什么我的代码在CodeForces上显示“运行时错误”?

为什么我在 Xcode 上收到以下代码的 (lldb) 运行时错误?

为什么我的代码出现运行时错误?

为什么我的代码给出运行时错误?

VBA 错误运行时错误 6 '溢出',是什么问题?

运行时错误-SIGSEGV

SPOJ上的硬币—每次遇到运行时错误(SIGSGEV)

运行时错误:以下代码的运行时错误分段错误 (SIGSEGV)

有人可以帮我找出我的代码有什么问题吗?

我获取最后插入 ID 的代码有什么问题?

不断收到运行时错误'5'VBA,这是什么问题?

无法保持纵横比-我的代码有什么问题

我在CONCAT上的SQL代码有什么问题?

我在 Wallis 产品上的 python 代码有什么问题?

谁能帮我找出我的表单验证代码有什么问题?

分段错误-如何找出我的代码出了什么问题?- C

Apache Commons Logging的运行时发现算法有什么问题