Highscore liste
-
Hallo, ich programmiere gerade ein unterprogramm, welches mittels einer quicksort funktion eine highscore liste sortieren soll. Ich habe folgendes problem: ich habe ein array in das ich die punkte einlese. da ich nicht weiß wie viele einträge die textdatei in der die highscore gespeichert wird hat muss ich das array mit malloc dynamisch vergrößern. Das Problem ist nun allerdings das ich nicht wieß wie ich die spielernamen mit den punkten sortieren soll... bzw. ich nicht weiß wie ich ein mehrdimensionales array mit malloc vergrößern kann...
Also noch mal in kurzform...
- highscore wird aus textdatei gelesen
- array wird mit malloc dynamisch erstellt
- array wird gefüllt
- array wird sortiert
- und alles wird sortiert in die datei geschriebenproblem:
die spielernamen werden nicht sortiert weil ich nicht weiß wie ich diese in ein array schreiben kann...danke für eure hilfe[e]
-
vergleich in der struktur einen bestimmten wert, ist der größer als der andere dann sortier die struktur, gleiches prinzip wie bei quicksort nur dass du einen wert vergleichst und dann die struktur sortierst und nicht den wert
-
Danke für die hilfe... mit nem struct klappt es! aber wie kann ich nen struct array allocieren? also mit malloc? nen beispiel dazu wäre ganz nett weil ich dieses malloc noch nicht ganz verstehe...
-
Bjoern398141 schrieb:
aber wie kann ich nen struct array allocieren? also mit malloc? nen beispiel dazu wäre ganz nett weil ich dieses malloc noch nicht ganz verstehe...
ungefähr so:
struct __mystruct { ... ... }; // x ist die anzahl der objekte struct __mystruct *p = malloc (x*sizeof(struct __mystruct));
-
irgendwie bekomme ich da ne fehlermeldung und zwar initializer is not constant
-
typedef struct{ int points; char name[10]; }highscore; struct highscore *p = malloc(10*sizeof(highscore);
so sieht das ganze jetzt bei mir aus... n
aber wie gesagt da kommt son komischer fehler!