Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmMdSF 255 of 390 menu
◀ ▶

Заполнение многомерных структур в C++

Массив векторов

Пустой массив векторов заполняют двумя циклами. Внешний проходит ячейки массива, внутренний дописывает числа в вектор через push_back:

std::vector<int> arr[2]; for (int i = 0; i < 2; ++i) { for (int j = 1; j <= 3; ++j) { arr[i].push_back(j); } } std::cout << arr[1][2] << "\n"; // выведет 3

Словарь векторов

Векторы в словаре собирают так же. Вместо индекса массива берут ключ:

std::map<std::string, std::vector<int>> dct; std::string keys[2] = {"a", "b"}; for (int i = 0; i < 2; ++i) { for (int j = 1; j <= 2; ++j) { dct[keys[i]].push_back(j); } } std::cout << dct["b"][1] << "\n"; // выведет 2

Вектор словарей

Каждый элемент вектора - отдельный словарь. Его собирают на шаге цикла и кладут в вектор через push_back:

std::vector<std::map<std::string, int>> vec; for (int i = 1; i <= 2; ++i) { std::map<std::string, int> dct; dct["id"] = i; vec.push_back(dct); } std::cout << vec[1]["id"] << "\n"; // выведет 2

Практические задачи

Заполните массив из двух векторов числами 1, 2 и 3 в каждом. Выведите последний элемент второго вектора.

Заполните словарь векторов. По ключам "a" и "b" лежат числа 4 и 5. Выведите второе число ключа "b".

Заполните вектор двумя словарями. В каждом есть ключ "age", числа 27 и 31. Выведите возраст второго словаря.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить