From 39965a95c4c78c772748e14593e26182fae6ca68 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 1 Dec 2025 17:50:00 +0100 Subject: [PATCH] numbers done/ test missing --- makefile | 6 +++ numbers.c | 126 +++++++++++++++++++++++++++++++++++++++++++-- numbers.o | Bin 0 -> 2455 bytes runNumbersTest.exe | Bin 0 -> 181941 bytes test_numbers.c | 33 ++++++++++++ 5 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 numbers.o create mode 100644 runNumbersTest.exe create mode 100644 test_numbers.c diff --git a/makefile b/makefile index 5893c0b..fdb61da 100644 --- a/makefile +++ b/makefile @@ -38,6 +38,12 @@ $(program_obj_filesobj_files): %.o: %.c unitTests: stack.o test_stack.c $(unityfolder)/unity.c $(CC) $(FLAGS) -I$(unityfolder) -o runStackTest test_stack.c stack.o $(unityfolder)/unity.c +# -------------------------- +# numbers.c Tests +# -------------------------- +numbersTests: numbers.o test_numbers.c $(unityfolder)/unity.c + $(CC) $(FLAGS) -I$(unityfolder) -o runNumbersTest test_numbers.c numbers.o $(unityfolder)/unity.c + # -------------------------- # Clean # -------------------------- diff --git a/numbers.c b/numbers.c index f59d9a2..7adf6bd 100644 --- a/numbers.c +++ b/numbers.c @@ -5,22 +5,140 @@ #include "numbers.h" #include "bintree.h" -//TODO: getDuplicate und createNumbers implementieren +// TODO: getDuplicate und createNumbers implementieren /* * * Erzeugen eines Arrays mit der vom Nutzer eingegebenen Anzahl an Zufallszahlen. - * Sicherstellen, dass beim Befüllen keine Duplikate entstehen. - * Duplizieren eines zufälligen Eintrags im Array. - * in `getDuplicate()`: Sortieren des Arrays und Erkennen der doppelten Zahl durch Vergleich benachbarter Elemente. */ + * Sicherstellen, dass beim Befüllen keine Duplikate entstehen. + * Duplizieren eines zufälligen Eintrags im Array. + * in `getDuplicate()`: Sortieren des Arrays und Erkennen der doppelten Zahl durch Vergleich benachbarter Elemente. */ // Returns len random numbers between 1 and 2x len in random order which are all different, except for two entries. // Returns NULL on errors. Use your implementation of the binary search tree to check for possible duplicates while // creating random numbers. +unsigned int checkArray(unsigned int *array, unsigned int len, unsigned int number) +{ + int free = 1; + + for (int i = 0; i < len; i++) + { + if (array[i] == number) + { + free = 0; + } + } + + return free; +} + unsigned int *createNumbers(unsigned int len) { + srand(time(NULL)); + unsigned int array[len]; + unsigned int randomNr; + for (int i = 0; i < len; i++) + { + do + { + randomNr = rand() % 2 * len + 1; + } while (!checkArray(array, i, randomNr)); + + array[i] = randomNr; + } + + return array; +} + +void merge(unsigned int arr[], unsigned int left, unsigned int mid, unsigned int right) +{ + unsigned int i, j, k; + unsigned int n1 = mid - left + 1; + unsigned int n2 = right - mid; + + // Create temporary arrays + unsigned int leftArr[n1], rightArr[n2]; + + // Copy data to temporary arrays + for (i = 0; i < n1; i++) + leftArr[i] = arr[left + i]; + for (j = 0; j < n2; j++) + rightArr[j] = arr[mid + 1 + j]; + + // Merge the temporary arrays back into arr[left..right] + i = 0; + j = 0; + k = left; + while (i < n1 && j < n2) + { + if (leftArr[i] <= rightArr[j]) + { + arr[k] = leftArr[i]; + i++; + } + else + { + arr[k] = rightArr[j]; + j++; + } + k++; + } + + // Copy the remaining elements of leftArr[], if any + while (i < n1) + { + arr[k] = leftArr[i]; + i++; + k++; + } + + // Copy the remaining elements of rightArr[], if any + while (j < n2) + { + arr[k] = rightArr[j]; + j++; + k++; + } +} + +void mergeSort(unsigned int arr[], unsigned int left, unsigned int right) +{ + if (left < right) + { + + // Calculate the midpoint + unsigned int mid = left + (right - left) / 2; + + // Sort first and second halves + mergeSort(arr, left, mid); + mergeSort(arr, mid + 1, right); + + // Merge the sorted halves + merge(arr, left, mid, right); + } } // Returns only the only number in numbers which is present twice. Returns zero on errors. unsigned int getDuplicate(const unsigned int numbers[], unsigned int len) { + unsigned int temp[len]; + unsigned int duplicate = 0; + for (int i = 0; i < len; i++) + { + temp[i] = numbers[i]; + } + + // Sorting arr using mergesort + mergeSort(temp, 0, len - 1); + + for (int i = 0; i < len - 1; i++) + { + duplicate = temp[i]; + if (duplicate == temp[i + 1]) + { + + break; + } + } + + return duplicate; } \ No newline at end of file diff --git a/numbers.o b/numbers.o new file mode 100644 index 0000000000000000000000000000000000000000..507642a6ed2c3669f1bb60ccface194c7b8d277e GIT binary patch literal 2455 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 a6Vd?NQ3_tj@Vl{!ySr}~m7eNfEc}0j9^p0s literal 0 HcmV?d00001 diff --git a/test_numbers.c b/test_numbers.c new file mode 100644 index 0000000..ae339ad --- /dev/null +++ b/test_numbers.c @@ -0,0 +1,33 @@ +#include +#include +#include "numbers.h" +#include "unity.h" + +void duplicateTest() +{ + unsigned int array[6] = {1, 4, 5, 2, 3, 1}; + unsigned int len = 6; + + TEST_ASSERT_EQUAL_INT(1, getDuplicate(array, len)); +} + +void setUp(void) +{ + // Falls notwendig, kann hier Vorbereitungsarbeit gemacht werden +} + +void tearDown(void) +{ + // Hier kann Bereinigungsarbeit nach jedem Test durchgeführt werden +} + +int main() +{ + UNITY_BEGIN(); + + printf("============================\nNumbers tests\n============================\n"); + + RUN_TEST(duplicateTest); + + return UNITY_END(); +} \ No newline at end of file