diff --git a/bintree.o b/bintree.o new file mode 100644 index 0000000..33ca5e8 Binary files /dev/null and b/bintree.o differ diff --git a/doble.exe b/doble.exe new file mode 100644 index 0000000..7e580d9 Binary files /dev/null and b/doble.exe differ diff --git a/highscore.o b/highscore.o new file mode 100644 index 0000000..e9b31f1 Binary files /dev/null and b/highscore.o differ diff --git a/highscores.txt b/highscores.txt index c2a6352..8b13789 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1,5 +1 @@ -player_name;4993 -player_name;4992 -player_name;4990 -player_name;4953 -player1;3999 + diff --git a/main.o b/main.o new file mode 100644 index 0000000..a5219de Binary files /dev/null and b/main.o differ diff --git a/numbers.c b/numbers.c index 41d0388..c45bbdb 100644 --- a/numbers.c +++ b/numbers.c @@ -16,6 +16,18 @@ static int compareUInt(const void *a, const void *b) return 0; } +// --- Hilfsfunktion: Shuffle des Arrays (Fisher-Yates) ------------------ +static void shuffle(unsigned int *array, unsigned int len) +{ + for (unsigned int i = len - 1; i > 0; i--) + { + unsigned int j = rand() % (i + 1); + unsigned int temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } +} + // Gibt ein Array mit len zufälligen Zahlen zwischen 1 und 2*len zurück, die alle unterschiedlich sind, // außer zwei Einträgen (ein Duplikat). Verwendet den Binärbaum, um Duplikate zu vermeiden. unsigned int *createNumbers(unsigned int len) @@ -54,6 +66,9 @@ unsigned int *createNumbers(unsigned int len) unsigned int duplicateIndex = rand() % (len - 1); arr[len - 1] = arr[duplicateIndex]; + // Shuffle das Array, damit das Duplikat nicht immer am Ende steht + shuffle(arr, len); + // Baum freigeben clearTree(root); return arr; diff --git a/numbers.o b/numbers.o new file mode 100644 index 0000000..d4a5a0f Binary files /dev/null and b/numbers.o differ diff --git a/stack.o b/stack.o new file mode 100644 index 0000000..85c9dad Binary files /dev/null and b/stack.o differ diff --git a/timer.o b/timer.o new file mode 100644 index 0000000..5af0f96 Binary files /dev/null and b/timer.o differ