[C] Strings vergleichen

beten

Lt. Junior Grade
Registriert
Juni 2003
Beiträge
286
nabend.

Wir sollen für die Schule ein Programm schreiben, welches Strings einließt und später sortiert.
Dazu haben wir ein Zeigerfeld, vorin die Zeiger auf die einzelnen Strings stehen.

Zeigerfeld: char *p_cMax[2000]
String: char c_pStr[100]

Jetzt hab ich mir gedacht, das man die einzelnen Strings mit "strcmp" vergleichen kann und gegebenfalls die Zeiger aus dem Zeigerfeld Tauschen kann. Geht das überhaupt? Ich krieg das nämlich nich hin. Deshalb wollte ich euch mal um Hilfe bitten :p

gruß beten
 
Suche mal nach "Bubblesort". Dies ist ein Sortieralgorithmus, welcher deinem Ideenansatz entspricht. Es wird immer der aktuelle Eintrag mit seinem Nachbareintrag verglichen (kann der linke oder rechte Nachbar sein, was dann die Logik dreht. Ist z.B. der rechte Nachbar kleiner, so wird der aktuelle Eintrag mit diesem Nachbarn getauscht. Das Ganze wird iterativ durchgeführt und es wird solange sortiert, bis keine kleineren, rechten Nachbarn mehr auftauchen.

http://de.wikipedia.org/wiki/Bubblesort

Oder hier (mit Programmierbeispiel):

http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/networks/bubble.htm

Du müsstest in diesem Beispiel also die IF-Anweisung der bubblesort-Methode an deine Bedürfnisse anpassen und dir Überlegen, wie du Zeichenketten vergleichen kannst.
...
 
Zuletzt bearbeitet:
Das mit dem bubblesort hab ich auch schon! ;)
Mein Problem ist das mit dem Zeiger-Tauschen.

Trotztdem danke

gruß beten
 
Zeiger tauschen?

z.B. Eintrag 1 und 0 vertauschen:

char* pTemp = p_cMax[1];

p_cMax[1] = p_cMax[0];
p_cMax[0] = pTemp;

MfG

Arnd
 
Zuletzt bearbeitet:
Danke für die Hilfe.

Ich werd das heute abend mal ausprobieren.

gruß beten
 
Zurück
Oben