Doble_Spiel/test_numbers.c

46 lines
1.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include "numbers.h"
int main() {
unsigned int len = 10; // Beispielgröße
unsigned int *numbers = createNumbers(len);
if (!numbers) {
printf("Fehler: Konnte Zahlen nicht erzeugen.\n");
return 1;
}
// 1 Test: Alle Zahlen ausgeben
printf("Erzeugtes Array:\n");
for (unsigned int i = 0; i < len; i++) {
printf("%u ", numbers[i]);
}
printf("\n");
// 2 Test: Prüfen, ob genau ein Duplikat vorhanden ist
unsigned int duplicate = getDuplicate(numbers, len);
if (duplicate == 0) {
printf("Fehler: Kein Duplikat gefunden.\n");
} else {
printf("Gefundenes Duplikat: %u\n", duplicate);
}
// 3 Test: Prüfen, ob nur ein Duplikat existiert
unsigned int count = 0;
for (unsigned int i = 0; i < len; i++) {
if (numbers[i] == duplicate)
count++;
}
if (count == 2) {
printf("Test bestanden: Genau ein Duplikat vorhanden.\n");
} else {
printf("Test fehlgeschlagen: Duplikatanzahl = %u\n", count);
}
// Speicher freigeben
free(numbers);
return 0;
}