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
AssemblerDiese 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*