.txt einlesen + auswerten



  • Also wenn ich das richtig sehe, dann muss ich für meine 5 aufgezählten Intervalle jeweils einmal durch die Text Datei durchgehen. D.h. für 5 Intervalle, 5 mal durch die Datei 😞
    Geht das sonst auch Ressourcensparender?



  • Nun wird es wohl an der Zeit, die Daten in Strukturen einzulesen. Eine Möglichkeit ist, die Strukturen gleich beim Einlesen sortiert in einer verketteten Liste zu speichern. Das nennt sich Sortieren durch Einfügen, bzw. Insertionsort.



  • Big Brother schrieb:

    Nun wird es wohl an der Zeit, die Daten in Strukturen einzulesen. Eine Möglichkeit ist, die Strukturen gleich beim Einlesen sortiert in einer verketteten Liste zu speichern. Das nennt sich Sortieren durch Einfügen, bzw. Insertionsort.

    Ich mach erstmal einen kleinen Anfang, bevor zuviel falsches auftaucht ^^

    struct liste 
    {
    	char name[50];
    	int alter;
    	int groesse; 
    	struct liste *next;
    };
    
    int main()
    {
        liste liste1;
        char *fname = "test.txt";
        FILE* fp = fopen ( fname, "r" );
        if ( fp == NULL ) return 1;
    
        while ( !feof(fp) )
        {
            fscanf ( fp, "%s %d %d\n", liste1.name, &liste1.alter, &liste1.groesse); 
    
            InsertSort(...);
        }
        fclose ( fp );
        return 0;
    }
    

    Das sollte doch so gehen oder? Nun müsste ich "nur" noch die Funktion für ein Sortierverfahren erstellen. Wenn ich es richtig verstanden habe muss erst nach der Größe sortiert und dann im jeweiligen größen-Bereich bzw. den genannten "10cm Intervall", das höchste Alter gesucht werden?
    Und schließlich Name, Alter und Größe ausgeben.



  • Saul schrieb:

    Nun müsste ich "nur" noch die Funktion für ein Sortierverfahren erstellen.

    Na dann leg mal los. Programmiere eine verkettete Liste, in der die Strukturen sortiert abgelegt, also verkettet werden.


Anmelden zum Antworten