C++ Länge eines zweidimensionalen Vektors?
Hey, ich versuche gerade c++ zu lernen und finde gerade nichts dazu wie man die Länge eines zweidimensionalen Vektors ausgeben kann (wie in java mit A.length() und A[].lenght()).
Also im Prinzip möchte ich wissen, wie viele Spalten und Zeilen mein Vektor hat. Ich habe schon [vektorname].size gefunden, aber das bringt mich auch nicht viel weiter.
Vielen Dank im Voraus!
1 Antwort
Die Anzahl der Vektoren im Vektor bekommst du mit der size-Methode. Um die Anzahl der Elemente in den inneren Vektoren zu bekommen, musst du sie dir holen. Da Vektoren eine dynamische Länge haben können, muss die Länge je Eintrag nicht immer gleich sein.
Ein Beispiel:
std::vector<std::vector<int>> data
{
{ 1, 2, 3 },
{ 4, 5, 6, 7 },
{ 8, 9 }
};
int size = data.size();
if (size > 0) {
int sizeOfFirstVector = data[0].size();
std::cout << sizeOfFirstVector;
}
Um nun zu ermitteln, wie viele Elemente insgesamt enthalten sind, müsstest du durch den Vektor laufen und jeden inneren Vektor auf seine Länge prüfen, um diese zu einer Gesamtsumme aufzurechnen.
int numberOfElements = 0;
for (const auto &innerData : data) {
numberOfElements += innerData.size();
}
std::cout << numberOfElements;