c 使用多维数组

c using a multi dimensional array

本文关键字:数组      更新时间:2023-10-16
第一次

在我的大学项目中使用2D数组。

IM 正在努力了解如何将用户输入的值放入数组中的特定插槽中。

我所拥有的是。

cout << "Enter Number of Groups" << endl;
cin >> DefinedGroups;
int user_groups[definedgroups] [2]
while (havent worked out the condition yet)
{
cout << " Enter Lower Range " << endl;
cin >> Lrange;
cout << " Enter Higher Range " << endl;
cin >> Hrange;
}

任何人都知道如何将 Lrange 和 Hrange 的值输入到数组中,例如 0,1 和 1,1,然后每次将定义的组递增 1。谢谢

首先,您的代码使用可变长度数组,这是一个 GCC 扩展。这意味着您的代码不可移植。

现在要读取数组中的元素,您只需执行以下操作:

cout << " Enter Lower Range " << endl;
cin >> user_groups[i][0];
cout << " Enter Higher Range " << endl;
cin >> user_groups[i][1];

假设i是你在计算 while 循环条件时将获得的数组索引。

如果你想启发自己,你可以使用一种更惯用的方法:

int defined_groups;
std::cin >> defined_groups;
std::vector<std::pair<int, int>> user_groups;
for (int i = 0; i < defined_groups; i++) {
  int lower_range, upper_range;
  if (cout << "Enter Lower Range " << endl &&
      std::cin >> lower_range &&
      cout << " Enter Higher Range " << endl &&
      std::cin >> upper_range) {
    user_groups.push_back(std::make_pair(lower_range, upper_range));
  }
}