web-dev-qa-db-fra.com

Taille de colonne et taille de ligne d'un vecteur 2D en C ++

J'ai un vecteur comme celui-ci:

vector< vector<int> > myVector;

Tous les numéros de ligne et de colonne sont identiques dans ce vecteur.

Je veux trouver le nombre de lignes et le nombre de colonnes de ce vecteur.

Pour le nombre de lignes, je trouve:

myVector[0].size();

Pour le nombre de colonnes, je ne peux rien trouver. Pouvez-vous me dire si le nombre de lignes est correct et pouvez-vous me dire comment obtenir le nombre de colonnes? Merci.

21
jason

Vous avez un vecteur de vecteurs entiers myVector[0].size() vous renvoie la quantité d'éléments dans le premier vecteur int du vecteur 2d.

La structure d'un tel vecteur ressemble à ceci:

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

Lorsque vous appelez myVector [1] .size (), il renvoie 3 et [0] renvoie 4.

Pour la quantité de lignes (vecteurs int) dans le vecteur 2d, vous pouvez simplement utiliser myVector.size()

Vous pouvez l'exécuter pour le voir dans les 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;
}
20
Kilppari
for(int i=0;i<v.size();i++){
    for(int j=0;j<v[i].size();j++){
        cout<<v[i][j]<<" ";
    }
    cout<<endl;
}

Ici, v est un vecteur bidimensionnel de taille variable en termes de taille de colonne. Utilisez v.size () car il donne le nombre total de lignes et v [i] .size () vous donne le nombre total de colonnes dans la ième ligne. Le code suivant peut être utilisé pour parcourir différents vecteurs bidimensionnels.

6

Pour trouver le nombre de lignes dans un vecteur 2D, vous pouvez simplement utiliser vector_name.size (). cela renverra la taille du vecteur. pour trouver le nombre de colonnes dans la Ième ligne, utilisez vector_name [i] .size ()

0
Nikhil Arora