【发布时间】:2015-12-27 11:43:35
【问题描述】:
我有一个包含 1000 行的文本文件,每行有 130 个数字。 我想将数字导入数组然后使用它们。 我想打印出每行的前两个数字,我使用了一个循环,它不能按预期工作。 输出应该类似于
1126
2124
3 128
4 123
// 等等...
代码是:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include<cstdlib>
#include <array>
int main()
{
int l=0, r=0;
int line[1000][1000];
std::ifstream in("bragg_events.txt");
if (!in) {
std::cout << "Cannot open file.\n";
return;
}
for (l = 0; l < 1000; l++)
{
for (r = 0; r < 130; r++)
{
in >> line[r][l];
}
std::cout << line[0][l] << " " << line[1][l] << "\n";
}
in.close();
return 0;
}
它实际上打印:
1126(正常)
20 34(不好)
64 61
38 54
113 130
152164
你猜到哪里不对了吗?
【问题讨论】:
-
我猜你应该在你的数组中交换你的 l 和 r 变量......并且你在循环的每个周期都打印前两个元素,所以在第一个元素上你打印第一个元素(已设置)和第二个(尚未设置)。