#include <stdio.h>
#include <stdbool.h>
#define MAX 1024 // Maximum possible unique values (adjust as needed)
void getUniqueExcludeDuplicates(int* arr, int size, int* result, int* resultSize) {
int frequency[MAX] = {0}; // Array to count occurrences of each number
// Count frequencies of each number in the input array
for (int i = 0; i < size; i++) {
frequency[arr[i]]++;
}
// Collect numbers that appear only once
*resultSize = 0; // Initialize the result size
for (int i = 0; i < size; i++) {
if (frequency[arr[i]] == 1) {
result[(*resultSize)++] = arr[i];
}
}
}
int main() {
int arr[] = {1, 2, 3, 5, 8, 3, 1, 1, 0, 6, 5, 7, 3, 1, 4, 9};
int size = sizeof(arr) / sizeof(arr[0]);
// Array to store the unique values
int result[MAX];
int resultSize;
// Call the function to exclude duplicates
getUniqueExcludeDuplicates(arr, size, result, &resultSize);
// Print the result
printf("Unique values (excluding duplicates): ");
for (int i = 0; i < resultSize; i++) {
printf("%d ", result[i]);
}
printf("\n");
return 0;
}
/*
run:
Unique values (excluding duplicates): 2 8 0 6 7 4 9
*/