From 7b33c465a746d7f24ad4c8317b60ecd182b884ee Mon Sep 17 00:00:00 2001 From: Ben Skuppin Date: Mon, 8 Dec 2025 17:16:36 +0100 Subject: [PATCH] =?UTF-8?q?numbers.c=20korrektur(final)=20numbersTests.c?= =?UTF-8?q?=20fertig=20bintree.c/.h=20vergleichsfunktion=20=C3=A4nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bintree.c | 10 +++++++--- bintree.h | 2 ++ numbers.c | 50 ++++++++++++++++++++++++++++++-------------------- numbersTests.c | 27 +++++++++++++++++++++++---- 4 files changed, 62 insertions(+), 27 deletions(-) diff --git a/bintree.c b/bintree.c index 96b2b48..5f5fbbc 100644 --- a/bintree.c +++ b/bintree.c @@ -100,8 +100,12 @@ unsigned int treeSize(const TreeNode *root) int compareFct(const void *a, const void *b){ - if(*a>*b)return -1; - if(*b>*a)return 1; - if(*a==*b)return 0; + unsigned int A = *(unsigned int *)a; + unsigned int B = *(unsigned int *)b; + int result= 0; + if(A>B)result = -1; //logik vertauscht? + if(B>A)result = 1; //logik vertauscht? + if(A==B)result = 0; + return result; } \ No newline at end of file diff --git a/bintree.h b/bintree.h index 25e16b2..0fe9b44 100644 --- a/bintree.h +++ b/bintree.h @@ -24,4 +24,6 @@ void clearTree(TreeNode *root); // Returns the number of entries in the tree given by root. unsigned int treeSize(const TreeNode *root); +int compareFct(const void *a, const void *b); + #endif \ No newline at end of file diff --git a/numbers.c b/numbers.c index b807838..5074138 100644 --- a/numbers.c +++ b/numbers.c @@ -19,33 +19,41 @@ unsigned int *createNumbers(unsigned int len) srand(time(NULL)); unsigned int* numbers =malloc(sizeof(unsigned int) * len); unsigned int numberTemp; - unsigned int* numbTempPtr = &numberTemp; + //unsigned int* numbTempPtr = &numberTemp; int generated = 0; int isDuplicate = 0; TreeNode* root = NULL; + if(numbers == NULL)return NULL; - while(genreated #include "unity/unity.h" #include "numbers.h" +#include void setUp(void){} void tearDown(void){} +void TEST_ZERO_DUPLICATE(){ + + unsigned int input[9] = {1,2,3,4,5,6,7,8,9}; + TEST_ASSERT_EQUAL_INT(0, getDuplicate(input, 9)); + +} + + +void TEST_ONE_DUPLICATE(){ + + unsigned int input[9] = {1,2,3,4,5,6,7,2,9}; + TEST_ASSERT_EQUAL_INT(2, getDuplicate(input, 9)); + +} + + + int main(){ @@ -14,9 +32,10 @@ int main(){ printf("\n============================\nnumbers tests\n============================\n"); - RUN_TEST(TEST_CREATE_STACK); - RUN_TEST(TEST_STACK_POP); - RUN_TEST(TEST_STACK_PUSH); + RUN_TEST(TEST_ZERO_DUPLICATE); + RUN_TEST(TEST_ONE_DUPLICATE); + //RUN_TEST(); return UNITY_END(); -} \ No newline at end of file +} +//Befehl zum Kompilieren: gcc numbers.h numbers.c numbersTests.c bintree.h bintree.c unity/unity.c \ No newline at end of file