Range based for loop bei Matrizen



  • Hallo

    Ich habe mir die range based for loop angesehen. Für einen Vektor ist das klar:

    vector<int> vec = {4,8,15,16,23,42};
    for(auto j: vec){cout << j << " ";}
    

    Wenn ich nun eine Vektormatrix

    vector< vector<int> > Matrix;
    

    habe, ist dann eine range based for Schleife ebenfalls möglich?

    Wenn ja wie?

    Grüße


  • Mod

    Genau so?

    for (const auto &j: Matrix) ...
    

    Das geht dir so natürlich durch die einzelnen "Zeilen" deiner Liste von Listen. Denn das ist es, was ein vector<vector> darstellt. vector<vector> hat mit dem Konzept einer mathematischen Matrix so ungefähr überhaupt nichts zu tun.



  • Danke, das hat mir weitergeholfen 🙂

    Ich habe das nun so gemacht.

    for ( const vector<int> &i : Matrix )
    {
       for ( int j : i ) cout << j << ' ';
       cout << endl;
    }
    

    Grüße


Anmelden zum Antworten