You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sublime Text编译复杂C++代码无输出文件写入问题求助

问题:Bellman算法代码无法写入output.out文件
  • 简单测试代码可正常输出到output.out
#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"hi";
    return 0;
}
  • 包含Bellman算法的代码执行后仅显示「[Finished in 2.9s]」,无内容写入output.out
#include <bits/stdc++.h>
#define FOR(i,a,b) for(int i=a;i<=b;++i)
using namespace std;
const int INF=1000000000;
struct Edge{
    int u,v,w;
    void inp(){
        cin>>u>>v>>w;
    }
    void out(){
        cout<<u<<' '<<v<<' '<<w<<'
';
    }
};
int n,m;
Edge ed[5005];
int D[2505];
void bellman(){
    FOR(i,0,n-1) D[i]=-INF;
    D[s]=0;
    FOR(t,1,n-1) FOR(i,1,m){
        int u=ed[i].u,v=ed[i].v,w=ed[i].w;
        if (D[u]!=-INF&&D[v]<D[u]+w) D[v]=D[u]+w;
    }
    FOR(t,1,n) FOR(i,1,m){
        int u=ed[i].u,v=ed[i].v,w=ed[i].w;
        if (D[u]!=-INF&&D[v]<D[u]+w) D[v]=INF;
    }
}
int main(){
    cin>>n>>m;
    FOR(i,1,m) ed[i].inp();
    FOR(i,1,m) ed[i].out();
    bellman();
    cout<<D[n];
    return 0;
}
  • 当前Sublime Build配置
{
    "cmd": ["g++.exe", "-std=c++17", "${file}",
            "-o", "${file_base_name}.exe",
            "&&", "${file_base_name}.exe<input.inp>output.out"],
    "shell":true,
    "working_dir":"$file_path",
    "selector":"source.cpp"
}

已尝试重置配置,问题仍存在,求解决方案。


排查与解决方案

  1. 修复代码中的明显错误

    • 未定义变量s:bellman()函数中D[s]=0;的s未声明,需补充定义。比如在全局变量区添加int s;,并在main中读取起点:cin>>n>>m>>s;(若题目中起点固定为1,可直接写D[1]=0;)
    • 非法换行符:Edge::out()中的' '是非法字符,需改为标准换行符'\n',否则会触发编译或运行错误
    • 数组下标越界风险:确认输入的n不超过D数组的大小2504,m不超过ed数组的大小5004,避免运行时崩溃
    • 最长路逻辑校验:当前代码实现的是最长路+正环检测,若需求是最短路,需调整初始值为INF、松弛条件为D[v]>D[u]+w
  2. 调试运行,定位崩溃原因

    • 临时修改Build配置,取消输出重定向,直接查看控制台错误:
      {
          "cmd": ["g++.exe", "-std=c++17", "${file}", "-o", "${file_base_name}.exe", "&&", "${file_base_name}.exe"],
          "shell":true,
          "working_dir":"$file_path",
          "selector":"source.cpp"
      }
      
      运行后Sublime控制台会显示程序的报错信息(比如未定义变量、数组越界等),直接定位问题
    • 也可在命令行进入代码目录,执行${file_base_name}.exe < input.inp,查看控制台输出的错误提示

内容的提问来源于stack exchange,提问作者Yuu Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 06:31:04