我的大学项目第一次使用2D阵列。
我正在努力研究如何将用户输入的值放入数组中的特定插槽。
我所拥有的是。
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。感谢
答案 0 :(得分:2)
首先,您的代码使用可变长度数组,这是一个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));
}
}