Column size and row size of a 2D vector in C++

119,280

Solution 1

You have a vector of integer vectors myVector[0].size() returns you the amount of elements in the first int vector in the 2d vector.

The structure of such vector looks like this:

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

When you call for myVector[1].size() it would return 3 and [0] would return 4.

For the amount of rows (int vectors) in the 2d vector, you can just use myVector.size()

You can run this to see it in actions

#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;
}

This is the output:

Rows in the 2d vector: 1
Collumns in the 1st row: 3

Solution 2

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

Here v is a two dimensional vector of varying size in terms of column size. Use v.size() as it gives the total number of rows and v[i].size() gives you the total number of colums in ith row. The following code can be used to iterate through varying two dimensional vector.

Solution 3

In C++:

vector<vector < int > > matrix;

cout << "Row's Length: " << matrix.size();
cout<< "Column's Length: "<< matrix[0].size();

In JAVA:

int[][] matrix;

System.out.println("Row's Length: " + matrix.length);
System.out.println("Column's Length: " + matrix[0].length);

Solution 4

int main(){
    vector<vector<int>>test{{1,2},
                            {5,6},
                            {9,10}};// 3 rows and 2 columns
    cout<<"Columns: "<<test[0].size();// 2
    cout<<"Rows: "<<test.size();// 3
    return 0;
}

The above is only true when every row has the same number of elements. If different rows have different elements, you can find the number of elements in each row using a for loop.

Solution 5

To find the number of rows in a 2D vector , you can simply use vector_name.size(). this will return the size of vector. to find number of columns in Ith row use vector_name[i].size()

Share:
119,280
jason
Author by

jason

Updated on July 09, 2022

Comments

  • jason
    jason almost 2 years

    I have a vector like this :

    vector< vector<int> > myVector;
    

    All row and column numbers are same in this vector.

    I want to find row count and column count of this vector.

    For row count I come up with :

    myVector[0].size();
    

    For column count, I can't come up with anything. Can you tell me if my row count is correct and can you tell me how I can get column count? Thanks.