Размер столбца и размер строки 2D-вектора в С++
У меня есть такой вектор:
vector< vector<int> > myVector;
Все номера строк и столбцов одинаковы в этом векторе.
Я хочу найти количество строк и количество столбцов этого вектора.
Для числа строк я получаю:
myVector[0].size();
Для столбца столбца я ничего не могу придумать. Можете ли вы сказать мне, правильно ли подсчет строк, и можете ли вы рассказать мне, как я могу получить количество столбцов? Спасибо.
Ответы
Ответ 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()