Sortierproblem



  • Das sollte auch nur ein Beispiel sein die Dateien die ich anspreche sind rech groß
    in etwa mit diesem Format:

    1 2 3 4 5 65 76 7 7 87 3 34...
    12 43 5 6 56 75 65 57 75 34...
    123 34 45 56 56 767 6 786 3...

    ...

    da hätten wir dann eine Matrix. Was mir schon gelungen ist, ist eine Matrix zu sortieren nur meine Frage ist halt wie kann das Sortierschema auf die andere Matrix übernommen werden? Oder denke ich einfach zu kompliziert ..

    Danke schonmal



  • Ich seh da immernoch drei Vektoren oder eine einzelne Matrix, aber auf keinen Fall mehrere Matrizen.



  • Tschuldige das ich nicht sagte das es 2 Dateien des gleichen Formats mit unterschiedlichen numerischen Inhalten sind....aber ich dachte das wäre durch die Beiträge klar geworden..



  • Das bringt mich jetzt auch nicht weiter. Wo ist die Matrix? Wie werden MAtrizen überhaupt sortiert. Davon habe ich noch nie gehört (bin aber auch kein Profi, was Mathe angeht).



  • der_held schrieb:

    Ich seh da immernoch drei Vektoren oder eine einzelne Matrix, aber auf keinen Fall mehrere Matrizen.

    Warum sollte ein Vektor nicht auch eine Sonderform einer Matrix sein?



  • der_held schrieb:

    Wie werden MAtrizen überhaupt sortiert. Davon habe ich noch nie gehört (bin aber auch kein Profi, was Mathe angeht).

    Ich könnte mir höchstens vorstellen, dass Matrizen nach ihrer Norm sortiert werden können.



  • Musst entsprechend bei deinem swap (Austausch von den jeweiligen Werte) in deinem anderen Feld die Werte mit den selben Indizes des ersten Feldes tauschen.
    Wo ist da das Problem ?



  • Ich seh da immernoch drei Vektoren oder eine einzelne Matrix, aber auf keinen Fall mehrere Matrizen.

    Bist du dir sicher, dass du weißt, was eine Matrix ist?
    Das hier ist auch eine Matrix:
    (2 1)



  • Eine Matrix ist definiert durch: m x n

    wobei x hier mal bedeutet und m und n natürliche Zahlen sind... Ob N oder N* weiß ich aber nicht...

    Dies ist z.B. eine übliche Matrix:

    Typ: 3x4

    10 20 30 40
    20 30 40 40
    30 40 50 30

    Hoffe ich...



  • meissa röhrich schrieb:

    Wo ist da das Problem ?

    Das genau ist das Problem, könntest Du mir vielleicht ein wenig auf die Sprünge helfen worunter und vielleicht wo ich nachsehen könnte?!? Wäre echt hilfreich.

    Danke



  • typedef std::pair<int, int> Paar;
    
    std::vector<Paar> werte;
    
    // hier die Werte in 'werte' einlesen
    
    std::sort (werte.begin(), werte.end());
    

    Fertig.



  • Erreiche ich damit nicht nur eine Sortierung eines Vectors, diesen sort Befehl habe ich schon ausprobiert. Für die Zuordnung zum anderen Vektor/Matrix hätte ich irgendwie gern eine Hilfe, kann es zur Zeit gerade nicht ausprobieren. darum will ich nicht sagen das das mir nicht hilft was du geschrieben hast. Aber einen Sort Vektor sortierbefehl habe ich schon implementiert der auch funktioniert... nur die Zuordnung.. bedeutet das std::pair diese Zuordnung zum anderen Vektor, wenn es so ist danke und ich werde es ausprobieren.



  • Wenn du deine eigene Sortierroutine benutzt hast du irgendwo deinen
    Bedingungspart:

    double sw;
    if(matrix_1[i+1]<matrix_1[i])
    {
    sw=matrix_1[i];
    matrix_1[i]=matrix_1[i+1];
    matrix_1[i+1]=sw;
    sw=matrix_2[i];
    matrix_2[i]=matrix_2[i+1];
    matrix_2[i+1]=sw;
    }
    


  • Aber wer macht sich schon die Mühe, eine eigene Sortierroutine zu schreiben, wenns doch schon eine Tolle Fertige gibt?

    Erreiche ich damit nicht nur eine Sortierung eines Vectors, diesen sort Befehl habe ich schon ausprobiert.

    Nein. Ich verwende ja Paare!!! Jedes Element dieses std::vectors besteht aus einem Element je einer deiner 1xm Matrizen.



  • Studenten (bzw. Leute die die STL noch nicht kennengelernt haben.)



  • Mis2com schrieb:

    wobei x hier mal bedeutet und m und n natürliche Zahlen sind... Ob N oder N* weiß ich aber nicht...

    Ich nehme mal an du meinst mit N* die Menge N υ {0}. Was würde es für einen Sinn machen eine m x 0 Matrix zu definieren?


Anmelden zum Antworten