Вопрос проверяет знание инициализации 2D векторов в C++.
2D вектор в C++ можно инициализировать с помощью конструктора, задав количество строк и столбцов. Каждый элемент можно заполнить значением по умолчанию или с помощью вложенных циклов.
Инициализация с помощью конструктора:
- Для инициализации 2D вектора используется конструктор вектора, который принимает два параметра: количество строк и столбцов.
std::vector<std::vector<int>> matrix(3, std::vector<int>(4, 0)); // 3 строки, 4 столбца, все элементы = 0
Заполнение значениями через циклы:
- Используйте вложенные циклы для изменения значений элементов:
std::vector<std::vector<int>> matrix(3, std::vector<int>(4));
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 4; ++j) {
matrix[i][j] = i * j; // Заполнение значениями
}
}
Вывод 2D вектора:
for (const auto& row : matrix) {
for (int val : row) {
std::cout << val << " ";
}
std::cout << std::endl;
}
2D векторы позволяют гибко работать с матрицами и таблицами данных в C++.