62 lines
1.5 KiB
C
62 lines
1.5 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "numbers.h"
|
|
|
|
int main(void)
|
|
{
|
|
printf("=== Testing createNumbers() ===\n\n");
|
|
|
|
for (int run = 0; run < 3; run++)
|
|
{
|
|
printf("RUN %d:\n", run + 1);
|
|
unsigned int *numbers = createNumbers(5);
|
|
|
|
if (numbers == NULL)
|
|
{
|
|
printf("ERROR: createNumbers returned NULL\n\n");
|
|
continue;
|
|
}
|
|
|
|
printf("Array contents: ");
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
printf("%u ", numbers[i]);
|
|
}
|
|
printf("\n");
|
|
|
|
// Count occurrences of each value
|
|
printf("Value counts:\n");
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
int count = 0;
|
|
for (int j = 0; j < 5; j++)
|
|
{
|
|
if (numbers[i] == numbers[j])
|
|
count++;
|
|
}
|
|
printf(" Value %u appears %d times\n", numbers[i], count);
|
|
}
|
|
|
|
// Check for duplicates
|
|
int duplicateCount = 0;
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
int count = 0;
|
|
for (int j = 0; j < 5; j++)
|
|
{
|
|
if (numbers[i] == numbers[j])
|
|
count++;
|
|
}
|
|
if (count == 2 && (i == 0 || numbers[i] != numbers[i-1]))
|
|
{
|
|
duplicateCount++;
|
|
}
|
|
}
|
|
printf("Duplicate values found: %d\n\n", duplicateCount);
|
|
|
|
free(numbers);
|
|
}
|
|
|
|
return 0;
|
|
}
|