#include #include #include "numbers.h" // Einfache Funktion, um zu zählen, wie oft eine Zahl im Array vorkommt int countOccurrences(const unsigned int *arr, unsigned int len, unsigned int value) { int count = 0; for (unsigned int i = 0; i < len; i++) { if (arr[i] == value) count++; } return count; } // Testfunktion für createNumbers und getDuplicate void testNumbers(unsigned int len) { printf("Teste mit Laenge %u:\n", len); // Erstelle Zahlenarray unsigned int *numbers = createNumbers(len); if (numbers == NULL) { printf("Fehler: Konnte Array nicht erstellen.\n"); return; } // Gib Array aus printf("Generierte Zahlen: "); for (unsigned int i = 0; i < len; i++) { printf("%u ", numbers[i]); } printf("\n"); // Finde Duplikat unsigned int duplicate = getDuplicate(numbers, len); printf("Gefundenes Duplikat: %u\n", duplicate); // Überprüfe, ob es genau zweimal vorkommt int occ = countOccurrences(numbers, len, duplicate); if (occ == 2) { printf("Korrekte Überprüfung: %u kommt genau zweimal vor.\n", duplicate); } else { printf("Fehler: %u kommt %d mal vor (sollte 2 sein).\n", duplicate, occ); } // Speicher freigeben free(numbers); printf("\n"); } int main() { printf("Testprogramm für numbers.c\n"); printf("=========================\n\n"); // Teste mit verschiedenen Längen testNumbers(5); testNumbers(10); testNumbers(20); printf("Tests abgeschlossen.\n"); return 0; }