我想从用户输入创建一个数组。用户输入将如下所示:
ID Numbers
1 -3 2 -1 12 19 8
2 3 1 -3 2 19 5
3 7 4 1 7 9 3
4 9 12 4 6 -7 4
所以有一个ID,然后是6个数字。我最多可以有 20 个 ID。起初我有类似的东西
struct Prog
{
unsigned int ID;
signed int num_1;
signed int num_2;
signed int num_3;
signed int num_4;
signed int num_5;
signed int num_6;
};
我使用以下命令在终端的单独函数中读取数据文件作为输入:
for (;;)
{
cin >> Temp.ID >> Temp.num_1 >> Temp.num_2 >> Temp.num_3 >> Temp.num_4 >> Temp.num_5 >> Temp.num_6;
}
然而,问题是,当我试图找到这些 ID/数组的最小/最大值时,它变得非常混乱,因为有那么多不同的数组和元素。
所以现在我想做的是这样的:
struct Prog
{
unsigned int ID;
static const int num_elements = 6;
signed int numbers[num_elements];
};
然后稍后我可以通过执行 1 for 循环并使用 1 if 语句而不是之前的示例中的许多值来比较值,从而更容易找到最小/最大值。
我的问题是,我不确定如何获取上述新结构并读取顶部给定的数据文件并将它们存储在程序中以对其运行操作。任何帮助,将不胜感激。
谢谢。
编辑:不使用来自 std 的向量或来自 std 的 min/max。