textdatei sortieren



  • Hallo ich würde gerne eine Textdatei sortieren.
    Ich versuche eine Studentenverwaltung zu bauen und das einlesen und ändern und ausgeben der dateien funktionier. die textdatei die er sich abspeichert sieht so aus:

    52353 aaaaa bbbbbb
    74521 ccccc dddddd
    61344 eeeee ffffff

    die funktion soll jetzt diese textdatei einlesen und nach der ersten zeile sortieren.

    74521 ccccc dddddd
    61344 eeeee ffffff
    52353 aaaaa bbbbbb

    Wie ich die zeilen vorher eingegeben habe, dass so eine textdatei dabei heraus kommt, ist doch egal oder? selbst wenn ich die textdatei per "hand" geschrieben habe müsste er sie doch sortieren können oder?

    funktionen zum sortieren finde ich, ABER ich müss die textdatei doch vorher einlesen und ihm sagen das er nach der ersten zeile sortieren soll und das verstehe ich nicht...

    quellcode zum sortieren ist z.B.

    void selection_sort (int a[], int N)
    {
    	int i,j,min,t;
    		for (i=1;i<N;i++)
    		{
    		for (j=i+1; j<=N; j++)
    		{
    		min = i;
    		if(a[j]<a[min]) min=j;
    		t = a[min];
    		a[min]=a[i];
    		a[i]=t;
    		}
    		}
    }
    

    (hoffe die ist korrekt)



  • Du meinst nach der ersten Spalte sortieren oder ?

    Wie wärs mit:

    System::String^ path = "test.txt";
    array<System::String ^>^ lines= System::IO::File::ReadAllLines(path);
    System::Array::Sort(lines);
    System::Array::Reverse(lines);
    

    Warum nativ wenn du .NET hast?



  • ja ich mein nach der ersten spalte sortieren... ich hab die textdatei und das programm soll die ZEILEN nach der ersten SPALTE sortieren...



  • Und wo ist das Problem mit meinem Code ?



  • ich weiß erlich gesagt nicht genau was dein code macht... schreibt er die textdatei in ein array, was ich dann später sortieren kann?



  • Eigentlich ist er doch selbsterklärend - und zur Not hilft der Debugger 😃

    Zuerst wird ein Array aus (managed) strings erstellt.
    In der selben Zeile wird die Textdatei zeilenweise eingelesen - eben als array von strings.
    Danach wird das Array sortiert und da du es scheinbar in absteigender Reihenfolge brauchst, die Sortierung standardmäßig aber immer aufsteigend sortiert wird es dann noch 'umgedreht'.

    Ist halt jetzt die .Net Lösung - aber wie gesagt du wolltest ja C++/CLI, also warum nativ ? :p


Log in to reply