Größe eines vector Arrays



  • Wie bekomme ich die Größe jeder einzelnen Dimension eines vector arrays ?
    Mit array.size() erhalte ich ja nur eine Größe (von was eigentlich) ?

    Matthias



  • Spricht du jetzt von std::vector??? (bitte genauer sein, vector Arrays gibts es nicht als Begriff)

    Dann liefert size() die Anzahl der Elemente im Vector.



  • Artchi schrieb:

    Spricht du jetzt von std::vector??? (bitte genauer sein, vector Arrays gibts es nicht als Begriff)

    Dann liefert size() die Anzahl der Elemente im Vector.

    Ich meine Arrays der Art

    vector<vector<int> >
    

    mit 2 Dimensionen deren Größe ich einzeln ermitteln möchte.

    Matthias



  • v[0].size();



  • Wo ist das Problem:

    vector<vector<int>> a;
    
    a.size(); // Reihen?
    
    a.at(0).size(); // Elemenete in der 1. Reihe
    a.at(1).size(); // Elemenete in der 2. Reihe
    usw.
    

    Komfortablerweise schreibt man sich da ne Schleife, die alle Elemenete in allen Reihen zusammen addiert.
    Noch besser wäre es, man kapselt das ganze in eine eigene 2D-Vector-Klasse. Aber im Prinzip ist das doch alles logisch...



  • Artchi schrieb:

    Komfortablerweise schreibt man sich da ne Schleife, die alle Elemenete in allen Reihen zusammen addiert.
    Noch besser wäre es, man kapselt das ganze in eine eigene 2D-Vector-Klasse. Aber im Prinzip ist das doch alles logisch...

    Ich glaube du hast mein Problem nicht verstanden.

    Wenn ich ein Array generiere durch

    PlotDataSize.x = 128;
    	PlotDataSize.y = 256;
    	Input.resize(PlotDataSize.x); 
    	for(int x = 0; x < PlotDataSize.x; x++) 
    		Input[x].resize(PlotDataSize.y);
    

    dann möchte ich mit

    int SizeX = Input.[liefer mir Größe von X];
    int SizeY = Input.[liefer mir Größe von Y];

    wieder

    SizeX == 128
    SizeY == 256

    erhalten.

    Dein

    int SizeX = (int)Input.at(0).size();
    	int SizeY = (int)Input.at(1).size();
    

    liefert mir jedoch
    SizeX == 256
    SizeY == 256

    Warum ich dazu eine extra Klasse benötige oder Elemente addieren sollte ist mir vollkommen unklar.

    Matthias



  • Mit input.size() bekommst du die Zeilenanzahl, mit input[i].size() oder input.at(i).size() die Länge der i-ten Zeile.


Anmelden zum Antworten