2016-06-20 13 views
-1

Ich möchte Nr. speichern. von Koordinaten für ein Diagramm und müssen es in Paaren zuweisen. Wie weise ich dynamisch die Anzahl der Koordinaten paarweise zu?dynamisch Zuordnung Nr. von Werten zu Paaren Objekte

+1

mit allen Mitteln. Verwenden Sie zum Beispiel 'std :: vector' oder den Operator' new'. – Ari0nhh

+0

['std :: vector'] (http://en.cppreference.com/w/cpp/container/vector) und [' std :: pair'] (http://en.cppreference.com/w/ cpp/Dienstprogramm/Paar) vielleicht? –

+0

Was ich meine ist, wie mehrere Werte mit std :: pair eingeben? –

Antwort

0

std :: pair zu instanziieren, können Sie verwenden:

std::pair<int, double> p2(42, 0.123); 
std::cout << "Initialized with two values: " 
      << p2.first << ", " << p2.second << '\n'; 

Und für Vektoren:

std::vector<int> second (4,100); 

(Diese Zeile ein Vektor von 4 int erzeugt, mit dem Wert 100. Ich lasse Sie raten, was Sie tun können?)

std::vector<int> third (second.begin(),second.end()); 

Dieser iteriert auf einem anderen Vektor. Sei kreativ und zögere nicht, auf Docs zu schauen! (Und auch, überprüfen Sie die doc für die operator new Wenn Sie es schaffen wollen dynamisch müssen Sie es :).)

0

Sie diese verwenden können:

möglich
#include <iostream> 
using namespace std; 
#include <vector> 

void doSomething(){ 
    int x = 1, y= 3; 
    // vector of the graph's points 
    vector<pair<int, int>> graph; 
    // add point to the vector 
    graph.push_back(make_pair(x, y)); 
    // accessing a point // here accessing first point at index 0 
    // you can loop through the vector when having many points 
    cout<<"x = "<< graph.at(0).first <<endl; 
    cout<<"y = "<< graph.at(0).second <<endl; 
}