STL Vector ausgeben

Unterprogramm ? ? ? Was genau meinst Du denn damit? ? ? :confused:

Du hast eine Klasse "MyIndex", einen Vektor "MyIndex" und eine main-Funktion ..... welches Unterprogramm ? ? ? :suspekt:

Gruß
Klaus
 
Also das hier ist das Unterprogramm:
static vector<MyIndex> Dreieck (MyIndex& Punkt_a,MyIndex& Punkt_b,MyIndex& Punkt_c,vector<MyIndex> Dreieck_)
{
Dreieck_.push_back(Punkt_a);
Dreieck_.push_back(Punkt_b);
Dreieck_.push_back(Punkt_c);
return(Dreieck_);
}
 
Meinst Du sowas ?
Code:
#include<iostream>
#include<vector>
using namespace std;


class MyIndex
{
public:
    double X;
    double Y;
    int index;
};

static vector<MyIndex> Dreieck(MyIndex&,MyIndex&,MyIndex&,vector<MyIndex>);

int main ()
{
    MyIndex Punkt_a,Punkt_b,Punkt_c ;
    vector<vector<MyIndex> > Objekt;
    vector<MyIndex> Dreieck_;
    vector<MyIndex>::iterator ptr_Punkte;
    vector<vector<MyIndex> >::iterator ptr_Objekt;
//-------------------------------------------------------------
    Punkt_a.X=10;
    Punkt_a.Y=13;
    Punkt_a.index=1;
    Punkt_b.X=20;
    Punkt_b.Y=23;
    Punkt_b.index=2;
    Punkt_c.X=30;
    Punkt_c.Y=33;
    Punkt_c.index=3;
//--------------------------------------------------------------

    for (ptr_Objekt = Objekt.begin();ptr_Objekt != Objekt.end(); ptr_Objekt++)
    {
        Dreieck_.push_back(Punkt_a);
        Dreieck_.push_back(Punkt_b);
        Dreieck_.push_back(Punkt_c);

        Objekt.push_back(Dreieck_);
    }

    return 0;
}

Ist aber ohne Gewähr - hab's nicht ausprobiert ...

Gruß
Klaus
 
Sieht ja eigentlich sehr logisch aus,werd mich mal ans implementieren machen. Vielen Dank fuer deine Hilfe.
Gruss:)
 
Hallo,
hab mal wieder ein Problem mit einem vector.
Also mit push_back() kann ich ja an einen bestehenden vector hinten was anhaengen.Wie kann ich denn bei einem vector vorne was einfuegen und gleichzeitig den alten Wert entfernen?
Vielen Dank
 
Moin,

also:
"push_back()" hängt am Ende ein Element an
"pop_back()" entfernt das letzte Element

Es gibt zwar die Funktionen "push_front()" und "pop_front()", aber meines Wissens nicht für Vektoren, sondern nur für lists und deques
Ich denke, Du wirst wohl oder übel den Inhalt des Vektor ohne das erste Element in einen zweiten umkopieren müssen oder benutzt statt dessen eine deque (doppelt verkette Liste)!

Hierzu noch schnell ein passender Link:
http://www.cppreference.com/wiki/stl/deque/start

Gruß
Klaus
 
Zuletzt bearbeitet:
Hi.
Hallo,
hab mal wieder ein Problem mit einem vector.
Also mit push_back() kann ich ja an einen bestehenden vector hinten was anhaengen.Wie kann ich denn bei einem vector vorne was einfuegen und gleichzeitig den alten Wert entfernen?
Das ist eine etwas seltsame Beschreibung für das was du machen willst. Ich würde einfach sagen: du möchtest den aktuellen Wert überschreiben. Und das ist ziemlich einfach:
C++:
vector<my_type> v(10);

v[0] = neuer_wert;

Ansonsten kannst du mit der insert Methode etwas an einer beliebigen Stelle einfügen. Sei dir aber im Klaren darüber, das es bei einem Vektor im allgemeinen keine gute Idee ist.

Gruß
 
Zurück