C++ 使用fstream从文件加载数据

C++ 使用fstream从文件加载数据,c++,sequence,fstream,C++,Sequence,Fstream,在sequences.txt文件中,有100个序列用两行描述。第一个表示此序列中的数字数量,而第二个表示此序列中的数字数量(数据用一个空格分隔)。例如,前四行是: 5 13679 5 17222737 你能告诉我如何使用fstream库加载这些数据,这样我就可以做一些数学运算,比如计算每个序列中的差或它们的和吗?我想我必须使用两个数组,一个用于每个序列中的数字量,另一个用于每个序列中的数字量。谢谢。我有一个通用的解决方案,可以将您的文件放入二维锯齿阵列中。现在,您的最终数组中有了所有数据,您可以

在sequences.txt文件中,有100个序列用两行描述。第一个表示此序列中的数字数量,而第二个表示此序列中的数字数量(数据用一个空格分隔)。例如,前四行是:

5
13679
5
17222737


你能告诉我如何使用fstream库加载这些数据,这样我就可以做一些数学运算,比如计算每个序列中的差或它们的和吗?我想我必须使用两个数组,一个用于每个序列中的数字量,另一个用于每个序列中的数字量。谢谢。

我有一个通用的解决方案,可以将您的文件放入二维锯齿阵列中。现在,您的最终数组中有了所有数据,您可以执行任何您想要的任务

文件

5
1 3 6 7 9
5
17 22 27 32 37
6 
1 2 3 4 5 6
3
13 45 67
编码以获取2D数组中的数据。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    string str;
    ifstream in("File.txt");
    int count = 4; //Your number of test cases here as you said 100 or 200
    int *sizes = new int[count]; // all szies for your 1D arrays
    int **Array = new int*[count]; //Main 2D array
    for (int i = 0; i < count; i++)
    {
        in>>sizes[i]; //taking size for 1 row
        Array[i] = new int[sizes[i]]; //Making arrays 
        for (int j = 0; j < sizes[i]; j++)
        {
            in >> Array[i][j]; //getting values of row
        }
    }
    for (int i = 0; i < count; i++)
    {
        for (int j = 0; j < sizes[i]; j++)
        {
            cout << Array[i][j] << " "; //Printing Final Array [i,j]
        }
        cout << endl;
    }
    //Now you have your final array in Array which is 2D Jagged Array You Can Do What Ever You Want.
    for (int i = 0; i < count; i++) //memory release
        delete[] Array[i];
    delete[] Array;
    delete[] sizes;
    system("pause");
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符串str;
ifstream in(“File.txt”);
int count=4;//这里的测试用例数如您所说的100或200
int*size=new int[count];//1D数组的所有szie
int**Array=new int*[count];//主2D数组
for(int i=0;i>大小[i];//取一行的大小
数组[i]=new int[size[i]];//生成数组
对于(int j=0;j>数组[i][j];//获取行的值
}
}
for(int i=0;i无法检查代码,询问是否有任何困惑。谢谢你的回答!我知道你的想法,这很好,但我正在寻找一个稍微短一点,也许更简单的方法来解决这个问题,因为我的a级考试可能需要它,而且时间有限。因此,如果有人能描述一种解决方法,我将不胜感激。它可以缩短若你们在文件的开头给出了测试用例的总数,那个么我们就不需要设置一个while循环来计算测试用例的总数:若你们说每一行的数字和每一行的数字是一样的,那个么每一行都有5个数字,所以它会更短。若允许你们在文件的开头放上测试用例的数量,我可以让它更短,并且你们可以我们可以确定每行数字的大小。我有200行。不幸的是,序列中的数字数量是从5到100,所以它不是常数。200行总数还是200个案例?我的意思是5 1 2 3 4 5整个是一行还是这是2行?这是2行。:)谢谢你的帮助!我认为现在更容易记住了。