Vektor->Aktuelle Iteratornummer!?



  • Ahoi,

    std::vector<int> vektor;
    
    	vektor.push_back( 2 );
    	vektor.push_back( 3 );
    	vektor.push_back( 4 );
    
    	for( std::vector<int>::iterator i = vektor.begin( ); i != vektor.end( ); ++i )
    	{
    		std::cout<< *i <<std::endl;
    	}
    

    Wie bekomme ich es jetzt hin, dass mir 0, 1, 2 ausgegebn wird und nicht der Wert selber? Ich möchte nämlich wissen, bei welchem Element ich gerade bin.
    Danke im vorrrrrraus!





  • das es nicht nur mit iteratoren sondern auch mit dem op[] geht, weist du aber?!



  • unskilled schrieb:

    das es nicht nur mit iteratoren sondern auch mit dem op[] geht, weist du aber?!

    nä, dann schiess mal los mayn klaynes mäuschen!



  • btw:

    #include <vector>
    #include <iostream>
    #include <iterator>
    
    int main( )
    {
    	std::vector<int> vektor;
    
    	vektor.push_back( 2 );
    	vektor.push_back( 3 );
    	vektor.push_back( 4 );
    
    	for( std::vector<int>::iterator i = vektor.begin( ); i != vektor.end( ); ++i )
    	{
    		std::vector<int>::iterator first = vektor.begin();
    		std::vector<int>::iterator last = vektor.end();
    
    		std::cout<< distance( first, last ) <<std::endl;
    	}
    
    	std::cin.get( );
    }
    

    geht garnisch!



  • vector0r schrieb:

    unskilled schrieb:

    das es nicht nur mit iteratoren sondern auch mit dem op[] geht, weist du aber?!

    nä, dann schiess mal los mayn klaynes mäuschen!

    hey, mal nicht so frech zu den hilfsbereiten regs hier, das ist übrigens meine unreg-nickendung!

    vector0r schrieb:

    Ahoi,

    std::vector<int> vektor;
    
    	vektor.push_back( 2 );
    	vektor.push_back( 3 );
    	vektor.push_back( 4 );
    
    	for( std::vector<int>::iterator i = vektor.begin( ); i != vektor.end( ); ++i )
    	{
    		std::cout<< *i <<std::endl;
    	}
    

    Wie bekomme ich es jetzt hin, dass mir 0, 1, 2 ausgegebn wird und nicht der Wert selber? Ich möchte nämlich wissen, bei welchem Element ich gerade bin.
    Danke im vorrrrrraus!

    Einfach0r gehts kaum:

    for ( i=0; i<vektor.size(); i++ )
    cout << vektor.at(i) << " ist auf index " << i << endl;
    // od0r cout << vektor[i] << endl;
    


  • #include <iostream>
    #include <vector>
    
    int main()
    {
        std::vector<int> vektor;
    
        vektor.push_back(2);
        vektor.push_back(3);
        vektor.push_back(4);
    
        for(std::vector<int>::size_type i = 0; i != vektor.size(); ++i)
            std::cout << "Element " << i << " hat den Wert " << vektor[i] << std::endl;
    
        return 0;
    }
    

    Edit: zu langsam 😞



  • Danke, ihr sayd alle klayne Schätzekäss!


Anmelden zum Antworten