Использование 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 каждый раз. Спасибо
Во-первых, ваш код использует массивы переменной длины, которые являются расширением 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));
}
}
Других решений пока нет …