Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C++ Program to Check if a given matrix is sparse or not

  • Last Updated : 13 Jan, 2022

A matrix is a two-dimensional data object having m rows and n columns, therefore a total of m*n values. If most of the values of a matrix are 0 then we say that the matrix is sparse. 
Consider a definition of Sparse where a matrix is considered sparse if the number of 0s is more than half of the elements in the matrix,

Examples: 

Input : 1 0 3
        0 0 4
        6 0 0
Output : Yes
There are 5 zeros. This count
is more than half of matrix
size.

Input : 1 2 3
        0 7 8
        5 0 7 
Output: No 

To check whether a matrix is a sparse matrix, we only need to check the total number of elements that are equal to zero. If this count is more than (m * n)/2, we return true. 

C++




// CPP code to check if a matrix is
// sparse.
#include <iostream>
using namespace std;
  
const int MAX = 100;
  
bool isSparse(int array[][MAX], int m, int n)
{
    int counter = 0;
  
    // Count number of zeros in the matrix
    for (int i = 0; i < m; ++i)
        for (int j = 0; j < n; ++j)
            if (array[i][j] == 0)
                ++counter;
  
    return (counter > ((m * n) / 2));
}
  
// Driver Function
int main()
{
    int array[][MAX] = { { 1, 0, 3 }, 
                        { 0, 0, 4 }, 
                        { 6, 0, 0 } };
  
    int m = 3,
        n = 3;
    if (isSparse(array, m, n))
        cout << "Yes";
    else
        cout << "No";
}

Output:  

Yes

Please refer complete article on Check if a given matrix is sparse or not for more details!

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!