从文件中读取冒泡排序会生成随机数

时间:2018-09-12 14:20:37

标签: c++

Contains()

我认为问题在于文本文件中的读入,因为在添加之前,这种排序确实运行良好。 注意:这些文本文件与项目不在同一文件夹中,而是在一个子文件夹中。

2 个答案:

答案 0 :(得分:1)

如果无法打开文件或中间读取失败,则排序功能将访问统一的数据,并且您将获得未定义的行为。因此,您可以改善代码:

1初始化数据-int a[1000] = {};

2如果文件未打开,请提供错误消息并退出

ifstream fin("rand1k.txt");
if( !fin ) {
    std::cerr << "error: cannot open file" << std::endl;
    return 100; // or whatever error code you prefer
}

3检查每个输入是否成功:

    for(i=0;i<1000;i++) {
        fin>>a[i];
        if( !fin ) {
            std::cerr << "error on reading " << i << " element" << std::endl;
            return 101; // or whatever error code you prefer
        }
    }

答案 1 :(得分:0)

问题确实是我没有提供与我的项目不在同一工作目录中的文件的路径。谢谢你们。