46 lines
1.1 KiB
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;
|
|
}
|