sortier-probleme...



  • hallo,
    ich hab hier ein echt ( fuer mich ) verzwicktes problem.
    ich habe eine klasse in der mehrere zeichenketten als
    "informationstraeger" dienen:

    class info
    {
      public:
            char string1[ 1024 ];
        char string2[ 1024 ];
        char string3[ 1024 ];
        .
        .
        .
    };
    

    bei eintritt in eine schleife, werden die "informationstrager"
    ( string1, usw. ) mit informationen bestueckt. danach wird das
    ganze in eine datei geschrieben. nun folgt ein neuer schleifen-
    durchlauf. die alten infos werden ueberschrieben.......

    meine problem ist nun aber folgendes: ich will, dass die ausgabe
    SORTIERT wird!

    kann mir da jemand helfen?

    ciao



  • implementier operator< den rest macht std::sort für dich (was std::sort ist kanns du in einer stl referenz nachlesen, wenn bei deinen compilier keine bei ist http://www.dinkumware.com/manuals/reader.aspx?lib=cpp))

    [ Dieser Beitrag wurde am 05.04.2003 um 18:22 Uhr von Dimah editiert. ]



  • ich versteh nicht?! was soll ich machen? koennte mir das jemand mit ein paar saetzen mehr erklaeren, bitte?

    aber trotzdem schon mal danke! 🙂

    ciao



  • Was verstehst du den genau nicht? Ist doch nicht so schwer

    du schreibst dir einen eigenen < Operator oder ein eigenes Predicat und benutzt std::sort



  • naja, ich glaube nicht, dass ich es hinkriege den "<" operator neu zu implementieren... 😞

    kann man nicht bei jedem schleifendurchlauf 'ne neue klasse erzeugen,
    und dann die einzelnen felder der versch. klassen vergleichen und in die
    "richtige" reihenfolge bringen? das problem ist halt nur, ich weiss bis
    jetzt nicht WIEVIELE klassen ich brauchen werde... 😞
    kann man evtl. wie z.b. bei char[1024][1024] auch 'ne "klasse als array benutzen"? also z.b.:

    info[1]->string1 = "...";
    info[2]->string1 = "...";
    

    ist noch zu verstehen was ich will?! 😉

    ciao



  • naja, ich glaube nicht, dass ich es hinkriege den "<" operator neu zu implementieren... 😞

    wieso nicht 😕 probier es doch mal oder kann es sein, dass du gar keine Ahnung vom Thema Operator overloading/überladen hast? Wenn ja, siehe in deinem lieblings C++ Buch nach

    ist noch zu verstehen was ich will?! 😉

    Nein



  • hi,
    also die sache ist jetzt hoffentlich einfacher. ich hab jetzt einen array in dem die zu vergleichenden strings stehen ( wie char[1024][1024], nur halt mit klassen... 😉 ). reicht es jetzt, wenn ich mit sort "aufm*****iere"?

    ciao

    edit: ha! das web-scipt ist ja klasse! *lol*
    nochmal ciao

    [ Dieser Beitrag wurde am 06.04.2003 um 20:48 Uhr von cypoc editiert. ]



  • so, ich habs jetzt! ohne den "<" operator, und sort hab ich auch nicht benutzt.
    wer an der loesung interressiert ist kann sich ja nochmal melden... 😉

    ciao + trotzdem danke an euch! 🙂


Anmelden zum Antworten