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