Daten abgleichen



  • Hallo Leute,

    ich habe hier 4 Vectoren
    vector<double>a0, vector<double>b0,vector<double>c0,vector<string>d0

    das sind 4 Einträge die ich aus einer Messung bekomme.

    Jetzt würde ich gerne die 4 (mit index 0) Vectoren aus der Messung mit Vectoren vergleichen welche ich schon angelegt habe:

    vector<double>a1, vector<double>b1,vector<double>c1,vector<string>d1
    vector<double>a2, vector<double>b2,vector<double>c2,vector<string>d2
    vector<double>a3, vector<double>b3,vector<double>c3,vector<string>d3
    .
    .
    .
    vector<double>ai, vector<double>bi,vector<double>ci,vector<string>di

    Ich habe jetz Code entwickelt der es schafft die vectoren a0,b0,c0,d0
    mit einem Vector a1,b1,c1,d1zu vergleichen und in eine Textdatei zu schreiben und mir text ausgibt ob die Vectoren identisch sind oder nicht.(siehe folgenden Code)
    /////////////////////////////////////////////////////////////////////////////
    if (a0 == a1)
    {
    std::vectorstd::string PN;
    PN.push_back("Row is exactly the same!");
    copy(PN.begin(), PN.end(), ostream_iterator<string>(datei, "\n"));
    }
    else
    {
    std::vectorstd::string P;
    P.push_back("Row are different!");
    copy(P.begin(), P.end(), ostream_iterator<string>(datei, "\n"));
    }

    /////////////////////////////////////////////////////////////
    if (b0 == b1)
    {
    std::vectorstd::string PN;
    PN.push_back("Column is exactly the same!");
    copy(PN.begin(), PN.end(), ostream_iterator<string>(datei, "\n"));

    }
    else
    {

    std::vectorstd::string P;
    P.push_back("Column are different!");
    copy(P.begin(), P.end(), ostream_iterator<string>(datei, "\n"));
    }
    //////////////////////////////////////////////////////////////////////////
    if (c0 == c1)
    {
    std::vectorstd::string PN;
    PN.push_back("Angle is exactly the same!");
    copy(PN.begin(), PN.end(), ostream_iterator<string>(datei, "\n"));

    }
    else
    {

    std::vectorstd::string P;
    P.push_back("Angle are different!");
    copy(P.begin(), P.end(), ostream_iterator<string>(datei, "\n"));
    }
    /////////////////////////////////////////////////////////////////////////////
    if (d0 == d1)
    {
    std::vectorstd::string PN;
    PN.push_back("ObjectID is exactly the same!");
    copy(PN.begin(), PN.end(), ostream_iterator<string>(datei, "\n"));

    }
    else
    {

    std::vectorstd::string P;
    P.push_back("ObjectID are different!");
    copy(P.begin(), P.end(), ostream_iterator<string>(datei, "\n"));
    }

    datei.close();
    /////////////////////////////////////////////////////////////////////////////
    Dieser Code funktioniert auch für den Vergleich von zwei Vectoren, Ich wollte jetz einfach eine for schleife um den Code Block mit den vier if abfragen programmieren, bekomme aber folgenden Fehler:

    Code sieht dann für erste if schleife vergleich (a0==a1) folgendermaßen aus!

    for (int i = 0; i < 2; i++) ///hier würde ich gerne nur den ersten Vector a0
    //mit zwei selbst angelegten vectoren a1 und a2 vergelichen(als Beispiel)!

    {
    if (a0 == a[i])// an dieser Stelle bekomme ich den Fehler (Row[i]is undefined!
    {
    std::vectorstd::string PN;
    PN.push_back("Row is exactly the same!");
    copy(PN.begin(), PN.end(), ostream_iterator<string>(datei, "\n"));
    }
    else
    {
    std::vectorstd::string P;
    P.push_back("Row are different!");
    copy(P.begin(), P.end(), ostream_iterator<string>(datei, "\n"));
    }
    }

    Bite kann mir jemand helfen!!! ICh hoffe das ist machbar und nicht zu komplex:_)

    Vielen Vielen Dank!



  • Ich schau mir das ohne Codetags nicht an.


Log in to reply