Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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++ 从文本文件中读取数字,显示,然后排序(C+;+;)_C++_Sorting_Text Files_Infinite Loop_Ifstream - Fatal编程技术网

C++ 从文本文件中读取数字,显示,然后排序(C+;+;)

C++ 从文本文件中读取数字,显示,然后排序(C+;+;),c++,sorting,text-files,infinite-loop,ifstream,C++,Sorting,Text Files,Infinite Loop,Ifstream,以下是实验室的目标: 编写一个C++程序,检索存储在数据文件中的所有数字。当检索到每个数字时,它会显示在屏幕上。到达文件末尾后,数字应按数字顺序排序,然后显示结果 这是我的密码: int main(){ fstream infile; int numbers[25], size = 0, i = 0; infile.open("lab1.txt"); if (infile.fail()) { cout << "Error Op

以下是实验室的目标: 编写一个C++程序,检索存储在数据文件中的所有数字。当检索到每个数字时,它会显示在屏幕上。到达文件末尾后,数字应按数字顺序排序,然后显示结果

这是我的密码:

int main(){
    fstream infile;
    int numbers[25], size = 0, i = 0;

    infile.open("lab1.txt");
    if (infile.fail())
    {
        cout << "Error Opening File" << endl;
    }
    while (!infile.eof())
    {
        infile >> numbers[i];
        cout << numbers[i] << endl;
        i++;
    }


    size = i;
    cout << size << " number of values in file" << endl;

    for (int i = 0; i < size; ++i) {
        for (int j = 0; j < size - i - 1; ++j) {
            if (numbers[j] > numbers[j + 1])
             {
                int temp = numbers[j];
                numbers[j] = numbers[j + 1];
                numbers[j + 1] = temp;
             }
        }
    }

    infile.close();

    return 0;

}
intmain(){
河道充填;
整数[25],大小=0,i=0;
infle.open(“lab1.txt”);
if(infle.fail())
{
cout数[i];

cout从声明中删除
i
变量。仅使用
size
变量

int main(){
    fstream infile;
    int numbers[25], size = 0;

    infile.open("lab1.txt");
    if (infile.fail())
    {
       cout << "Error Opening File" << endl;
    }
    while (!infile.eof())
    {
        infile >> numbers[size];
        cout << numbers[size] << endl;
        size++;
     }

    cout << size << " number of values in file" << endl;

    for (int i = 0; i < size - 1; ++i) {
        for (int j = i+1; j < size; ++j) {
            if (numbers[i] > numbers[j])
            {
              //.....
intmain(){
河道充填;
整数[25],大小=0;
infle.open(“lab1.txt”);
if(infle.fail())
{
cout数[大小];
试试看


曾经听说过“JePijull”,我们还没有教过,在课堂上,我的教授希望我们现在用实际的循环和逻辑来排序:\谢谢你,如果文件不能打开,你只需打印一个消息,然后继续前进。那么,你在课堂上没有教过什么?你不能使用?C++的答案是使用<代码> STD::排序>/代码>。无论如何,1),2)你从来没有检查过文件中的数字是否超过25个。@PaulMcKenzie为什么while语句错了?是的,我实际上意识到我应该在找到文件大小后确定数组大小。你能扩展这个答案吗?
char x;
while (infile.get(x)){
    //add numbers to array
}