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

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,709 questions

55,473 answers

573 users

How to check if a given array is a sparse array in C

1 Answer

0 votes
#include <stdio.h>
#include <stddef.h>
#include <stdbool.h>

/*
    Determines whether an array is sparse.
    Sparse means: more zero elements than non‑zero elements.
*/
bool is_sparse(const int *arr, size_t size) {
    size_t zero_count = 0;

    for (size_t i = 0; i < size; i++) {
        if (arr[i] == 0)
            zero_count++;
    }

    /* Compare zero vs non‑zero directly */
    return zero_count > (size - zero_count);
}

int main(void) {
    int arr[] = {0, 4, 0, 1, 0, 0, 0, 3, 0};
    size_t size = sizeof(arr) / sizeof(arr[0]);

    if (is_sparse(arr, size))
        printf("Sparse array\n");
    else
        printf("Not a sparse array\n");

    return 0;
}


/*
run:

Sparse array

*/

 



answered Apr 23 by avibootz
edited 13 hours ago by avibootz
...