Подтвердить что ты не робот

Размер столбца и размер строки 2D-вектора в С++

У меня есть такой вектор:

vector< vector<int> > myVector;

Все номера строк и столбцов одинаковы в этом векторе.

Я хочу найти количество строк и количество столбцов этого вектора.

Для числа строк я получаю:

myVector[0].size();

Для столбца столбца я ничего не могу придумать. Можете ли вы сказать мне, правильно ли подсчет строк, и можете ли вы рассказать мне, как я могу получить количество столбцов? Спасибо.

4b9b3361

Ответ 1

У вас есть вектор целых векторов myVector[0].size() возвращает вам количество элементов в первом векторе int в векторе 2d.

Структура такого вектора выглядит следующим образом:

myVector[
  Vector[0, 4, 2, 5],
  Vector[1, 4, 2]
];

Когда вы вызываете myVector [1].size(), он вернется 3, а [0] вернет 4.

Для количества строк (int векторов) в векторе 2d вы можете просто использовать myVector.size()

Вы можете запустить это, чтобы увидеть его в действиях

#include <iostream>
#include <vector>

int main(){
    std::vector<std::vector<int>>MyVector;
    std::vector<int>temp;

    temp.push_back(1);
    temp.push_back(2);
    temp.push_back(3);
    MyVector.push_back(temp);

    std::cout << "Rows in the 2d vector: " << MyVector.size() <<
    std::endl << "Collumns in the 1st row: " << MyVector[0].size() <<
    std::endl;

    system("pause");
    return 0;
}

Ответ 2

for(int i=0;i<v.size();i++){
    for(int j=0;j<v[i].size();j++){
        cout<<v[i][j]<<" ";
    }
    cout<<endl;
}

Здесь v - двумерный вектор переменного размера с точки зрения размера столбца. Используйте v.size(), поскольку он дает общее количество строк, а v [i].size() - общее количество столбцов в i-й строке. Следующий код может быть использован для перебора изменяющегося двумерного вектора.

Ответ 3

Чтобы найти количество строк в двухмерном векторе, вы можете просто использовать vector_name.size(). это вернет размер вектора. чтобы найти количество столбцов в I-й строке, используйте vector_name [i].size()