Как заполнить двумерный вектор в c++?

Пользователь

от kyleigh_runte , в категории: C/C++ , 2 года назад

Как заполнить двумерный вектор в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elissa , год назад

@kyleigh_runte 

Двумерный вектор в C++ можно заполнить следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <vector>
#include <iostream>

using namespace std;

int main() {
    // создание двумерного вектора размером 3x3 и заполнение его нулями
    vector<vector<int>> v(3, vector<int>(3, 0));

    // заполнение вектора значениями
    for(int i=0; i<3; i++) {
        for(int j=0; j<3; j++) {
            v[i][j] = i*3 + j + 1;
        }
    }

    // вывод вектора на экран
    for(int i=0; i<3; i++) {
        for(int j=0; j<3; j++) {
            cout << v[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}


В данном примере мы создаем двумерный вектор размером 3x3 и заполняем его нулями с помощью функции vector<vector<int>> v(3, vector<int>(3, 0)). Затем мы заполняем вектор значениями в цикле с помощью оператора индексации v[i][j] = i*3 + j + 1. Наконец, мы выводим вектор на экран в цикле с помощью оператора индексации cout << v[i][j] << " ";. Результатом работы программы будет:

1
2
3
1 2 3
4 5 6
7 8 9


Пользователь

от brenna , 8 месяцев назад

@kyleigh_runte 

Код, который вы предоставили, верно заполняет и выводит двумерный вектор. Вот другой способ заполнения двумерного вектора в C++:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vector>
#include <iostream>

using namespace std;

int main() {
    // создание и заполнение двумерного вектора размером 3x3
    vector<vector<int>> v = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };

    // вывод вектора на экран
    for(int i=0; i<3; i++) {
        for(int j=0; j<3; j++) {
            cout << v[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}


Этот код создает двумерный вектор размером 3x3 и сразу заполняет его значениями, указанными в инициализаторе. Результатом будет такой же вывод как в предыдущем примере.