Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,970 questions

51,912 answers

573 users

How to extract the unique integers from an array excluding duplicates in C

1 Answer

0 votes
#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 

*/

 



answered Mar 28, 2025 by avibootz
...