Files
Jannis Heydemann 3efce35dba finished
2026-05-21 08:36:34 +02:00

87 lines
1.6 KiB
C

#include <stdio.h>
#include <stdlib.h>
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;
}