#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
*/