Doppelte Worte entfernen



  • Hi

    ich habe eine Textdatei, in der Worte sind. Die Datei sieht z.B. so aus:

    C
    Delphi
    Basic
    Basic
    PHP
    Assembler
    Assembler

    Diese Worte lese ich nun in ne verkettete Liste ein. Und jetzt kommt mein Problem. In der Liste kommen Worte doppelt vor (Basic, Assembler). Diese sollen nur einmal vorkommen. Ist die Liste bereinigt, soll diese in eine txt-Datei binär gespeichert werden.

    Vielen Dank



  • das ginge jetzt wunderschön mit C++: sort und unique... so jedoch musst du die liste sortieren und dann nacheinanderfolgende gleiche elemente eliminieren



  • tja ... das geht auch wunderschön in C:

    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
        char wort[100], lwort[100], *peof;
    
        peof = fgets(wort, sizeof wort, stdin);
    
        while (peof != NULL) {
            strcpy(lwort, wort);
            while (strcmp(wort, lwort) == 0 && peof != NULL)
                peof = fgets(wort, sizeof wort, stdin);
            printf("->%s\n", lwort);
        }
    
        return 0;
    }
    

    Einige Einschränkungen: 1. Die Daten sollten sortiert sein, damit das wunderbar funktioniert.
    2. Mein Code ist ein Beispiel und verwaltet offensichtlich keine Liste im Speicher.
    EDIT:

    so jedoch musst du die liste sortieren und dann nacheinanderfolgende gleiche elemente eliminieren

    ups ... das hab' ich doch glatt übersehen 🙂 Naja ... dann ist mein Code eben die (fast) Umsetzung von Mr.N's Aussage...

    [ Dieser Beitrag wurde am 02.01.2003 um 14:58 Uhr von mady editiert. ]



  • genau das übrigens macht sort und unique *g*


Anmelden zum Antworten