From ed4edda352b0b27608e9e5bf7a9d2844562b9e9f Mon Sep 17 00:00:00 2001 From: Jakob Date: Thu, 18 Dec 2025 09:50:21 +0100 Subject: [PATCH] =?UTF-8?q?fertiges=20Spiel=20mit=20einbindung=20vom=20Bin?= =?UTF-8?q?=C3=A4r=20Baum=20mit=20nicole=20und=20lena?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- highscores.txt | 4 ++++ numbers.c | 42 +++++++++++++++++++----------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/highscores.txt b/highscores.txt index 4bad879..a73fd89 100644 --- a/highscores.txt +++ b/highscores.txt @@ -1,3 +1,7 @@ +NAME;21730 +jakob;11918 jakob;11860 Jakob;4974 player1;3999 +NAME;2997 +NAME;2995 diff --git a/numbers.c b/numbers.c index 8019cac..788af79 100644 --- a/numbers.c +++ b/numbers.c @@ -27,33 +27,29 @@ unsigned int setSeed(unsigned int seed_test) void create_unique_random_numbers(unsigned int len, unsigned int numbers[]) { - for (unsigned int i = 0; i < len; i++) - { - unsigned int same = 0; + TreeNode *root = NULL; + int isDuplicate; - do + for (unsigned int i = 0; i < len; i++) { - unsigned int value = 0; - value = (rand() % (len * 2) + 1); - - same = 0; - - for (unsigned int j = 0; j < i; j++) - { - if (numbers[j] == value) + unsigned int same = 0; + do { - same = 1; - break; - } - } + unsigned int value = rand() % (len * 2) + 1; + root = addToTree(root, &value, sizeof(unsigned int), compare, &isDuplicate); + if (isDuplicate) + { + same = 1; + } + else + { + numbers[i] = value; + same = 0; + } + } while (same); + } - if (same == 0) - { - numbers[i] = value; - } - - } while (same == 1); - } + clearTree(root); } unsigned int *createNumbers(unsigned int len)