#include #include #include "numbers.h" int main(void) { printf("=== TEST: createNumbers & getDuplicate ===\n"); unsigned int len = 20; unsigned int *arr = createNumbers(len); if (!arr) { printf("FAILED: createNumbers returned NULL\n"); return 1; } printf("Array created: "); for (unsigned int i = 0; i < len; i++) printf("%u ", arr[i]); printf("\n"); unsigned int dup = getDuplicate(arr, len); if (dup == 0) { printf("FAILED: getDuplicate returned 0 (no duplicate found)\n"); free(arr); return 1; } // Count occurrences manually as safety check unsigned int count = 0; for (unsigned int i = 0; i < len; i++) if (arr[i] == dup) count++; if (count != 2) { printf("FAILED: duplicate=%u occurs %u times (expected 2)\n", dup, count); free(arr); return 1; } printf("SUCCESS: duplicate number is %u and appears exactly twice.\n", dup); free(arr); return 0; }