commit 3efce35dbad8d384cb4bab6f09c2b8da2167a975 Author: Jannis Heydemann Date: Thu May 21 08:36:34 2026 +0200 finished diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/main.c b/main.c new file mode 100644 index 0000000..a2a798c --- /dev/null +++ b/main.c @@ -0,0 +1,86 @@ +#include +#include + +void swap(int *arr, int i, int j) +{ + int temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; +} + +void bubbleSort(int arr[], int n) +{ + for (int i = 0; i < n - 1; i++) + { + for (int j = 0; j < n - i - 1; j++) + { + if (arr[j] > arr[j + 1]) + swap(arr, j, j + 1); + } + } +} + +void printArrInt(int printArr[], int arraySize) { + for (int f = 0; f < arraySize; f++) { + printf("%d ", printArr[f]); + } + printf("\n"); +} + +int findInArrInt(int findArr[], int suche, int findInArrSize) { + int gefunden = 0; + int oben = findInArrSize - 1; //max vom arr + int unten = 0; //min vom arr, anfangs immer 0 + int mitte = 0; + + while (gefunden != 1 && oben>=unten) { + mitte = (oben + unten) / 2; + if (suche == findArr[mitte]) { + gefunden = 1; + } else { + if (suche < findArr[mitte]) { + oben = mitte - 1; + } else { + unten = mitte + 1; + } + } + } + + if (gefunden==1) { + return 1; + } else { + return 0; + } + +} + + +int main() { + int array[200]; + int arrsize = sizeof(array) / sizeof(array[1]); + int suche = (rand() % 1000) + 1; + + for (int f = 0; f < arrsize; f++) { + array[f] = (rand() % 1000) + 1; + } + + printf("Unsortierter Array: \n"); + printArrInt(array, arrsize); + + printf("\n"); + + printf("sortierter Array:\n"); + bubbleSort(array, arrsize); + printArrInt(array, arrsize); + + printf("\n"); + printf("suche Zahl %d:\n", suche); + if (findInArrInt(array, suche, arrsize) == 1) { + printf("Zahl %d wurde gefunden!\n", suche); + } else { + printf("Zahl %d wurde nicht gefunden :(\n", suche); + } + return 0; +} + +