bubble sort einer txt-datei??



  • mahlzeit zusammen!

    ich soll ein programm schreiben, dass eine datei einliest zuerst unsortiert und danach sortiert ausgibt.

    dazu soll bubblesort angewendet werden.

    eingelesen bekommen hab ich sie bereits nur das mit dem sortieren stellt mich vor ungeahnte ausmaße.

    kann mir wer dabei helfen?

    achja

    compiler ist cygwin

    und der programmcode:

    void einlesen()
    {
    cin >> Eingabe2;
    ifstream aktenstrom(Eingabe2.c_str());
    if ( ! aktenstrom)
    {
    cout << "Falscher Dateiname oder Datei nicht vorhanden!" << endl;
    emk();
    }
    else
    cout << endl << Eingabe2 <<" erfolgreich eingelesen!" << endl << endl;

    string inhalt;
    unsigned nummer;
    string eingabe;
    int i = 0;
    while (aktenstrom >> nummer)
    {
    inhalt = "";
    while(aktenstrom >> eingabe, eingabe != "***")
    {
    inhalt += eingabe + " ";
    }
    cout << "Aktennummer: " << nummer << endl;
    cout << "Akteninhalt: " << inhalt << endl << endl;
    aktenschrank[i].nummer = nummer;
    aktenschrank[i].inhalt = inhalt;
    i++;
    }

    int a = 0;
    while (a < max_akten)
    {
    cout << aktenschrank[a].nummer << " ";
    cout << aktenschrank[a].inhalt << endl;
    a++;
    }
    }

    so wie sortier ich das mit bubble

    danke im voraus.

    p.s. ich weis dass hier hausaufgaben ungern gesehn sind, aber hätt ich nich schon mindestens 2 stunden mit der suchfunktion verbracht und wär nicht weitergekommen hätte ich diesen thread bestimmt nicht geschrieben.



  • Wie soll denn Sortiert werden ?

    Hallo Welt -> aeHllltW

    oder Zeilen weise

    Welt
    Hallo

    ||
    \/

    Hallo
    Welt



  • die aktennummern sind durcheinander und sehen wie folgt aus:

    20 akte20 *** 10 akte10 *** 70 akte70 ***...

    und jetzt soll nach der nummer sortiert werden (zeilenweise:
    nummer
    inhalt

    nummer
    inhalt

    etc.



  • nimm nen std::vectorstd::string und lies in den string für den vector
    die Akte ein. 10 akte10 z.B.

    Wenn die hintereiander stehen, etwas basteln. Wenn jede Akte in einer Zeile steht kannst Du das mit getline machen.

    Danach kannst Du mit sort(); den Vector sortieren.

    ALternativ würde Dir std::setstd::string das ganze bereits beim Einlesen sortieren.



  • geht das auch wenn statt einer datei in der akte 10 akte 20 etc steht?

    ein anderer inhalt vorhanden ist meinetwagen:

    17 ein hund knurrt *** 35 mjollnir schmettert *** 7 keiner kapiert cpp...

    in diesem sinne

    danke schonmal



  • hawkaye schrieb:

    geht das auch wenn statt einer datei in der akte 10 akte 20 etc steht?
    danke schonmal

    😕 😕



  • habens mitleiweile über swap gelöst

    also danke nochma

    hawk


Anmelden zum Antworten