#include #include #include int input() { int eingabe; char check; printf("Länge der 0/1-Folge (max. 1000): "); while (scanf("%d%c", &eingabe, &check) != 2 || check != '\n' || eingabe <= 0 || eingabe > 1000) { printf("Ungueltige Eingabe! Bitte eine Zahl zwischen 1 und 1000 eingeben: "); while (getchar() != '\n'); } return eingabe; } void zahlenfolge(int eingabe, int arr[]) { srand(time(NULL)); for (int i = 0; i < eingabe; i++) { arr[i] = rand() % 2; } } void vergleich(int arr[], int laenge) { while (laenge > 1) { int neueLaenge = laenge / 2; if (laenge % 2 != 0) { neueLaenge++; } int neuesArray[neueLaenge]; for (int i = 0; i < laenge / 2; i++) { neuesArray[i] = arr[i * 2] ^ arr[i * 2 + 1]; } if (laenge % 2 != 0) { neuesArray[neueLaenge - 1] = arr[laenge - 1]; } for (int i = 0; i < neueLaenge; i++) { printf("%d", neuesArray[i]); } printf("\n"); for (int i = 0; i < neueLaenge; i++) { arr[i] = neuesArray[i]; } laenge = neueLaenge; } } int main() { int array[1000]; int eingabe = input(); zahlenfolge(eingabe, array); for (int i = 0; i < eingabe; i++) { printf("%d ", array[i]); } printf("\n"); vergleich(array, eingabe); return 0; } // // Created by Lennart Pecher on 09.04.25. //