Write a C++ Program to Check Matrix is a Sparse Matrix with an example. Any matrix can be a sparse matrix if it contains a large number of zeros. In this sparse matrix example, we check for zeros and increment the total value. Next, we used the sparse matrix math formula (total no of zeros > (rows * columns)/2) within the If condition to return the result.
#include<iostream> using namespace std; int main() { int i, j, rows, columns, total = 0; cout << "\nPlease Enter the Matrix rows and Columns = "; cin >> i >> j; int sparseMat[i][j]; cout << "\nPlease Enter the Sparse Matrix Items\n"; for(rows = 0; rows < i; rows++) { for(columns = 0; columns < i; columns++) { cin >> sparseMat[rows][columns]; } } for(rows = 0; rows < i; rows++) { for(columns = 0; columns < j; columns++) { if(sparseMat[rows][columns] == 0) { total++; } } } if(total > (rows * columns)/2) { cout << "\nThe Matrix you have entered is a Sparse Matrix"; } else { cout << "\nThe Matrix you have entered is Not a Sparse Matrix"; } return 0; }
C++ Program to Check Matrix is a Sparse Matrix using a While loop
#include<iostream> using namespace std; int main() { int i, j, rows, columns, total = 0; cout << "\nPlease Enter the Matrix rows and Columns = "; cin >> i >> j; int sparseMat[i][j]; cout << "\nPlease Enter the Sparse Matrix Items\n"; for(rows = 0; rows < i; rows++) { for(columns = 0; columns < i; columns++) { cin >> sparseMat[rows][columns]; } } rows = 0; while(rows < i) { columns = 0; while(columns < j) { if(sparseMat[rows][columns] == 0) { total++; } columns++; } rows++; } if(total > (rows * columns)/2) { cout << "\nThe Matrix you have entered is a Sparse Matrix"; } else { cout << "\nThe Matrix you have entered is Not a Sparse Matrix"; } return 0; }
Please Enter the Matrix rows and Columns = 3 3
Please Enter the Sparse Matrix Items
1 2 3
0 0 0
0 0 1
The Matrix you have entered is a Sparse Matrix
In this C++ example, we added extra cout statements to show the iteration-wise row value, sparseMat[rows][columns], column value, and the if condition result.
#include<iostream> using namespace std; int main() { int i, j, rows, columns, total = 0; cout << "\nPlease Enter the Matrix rows and Columns = "; cin >> i >> j; int sparseMat[i][j]; cout << "\nPlease Enter the Sparse Matrix Items\n"; for(rows = 0; rows < i; rows++) { for(columns = 0; columns < i; columns++) { cin >> sparseMat[rows][columns]; } } for(rows = 0; rows < i; rows++) { cout << "\nRow Iteration = " << rows + 1 << ", Row Number = " << rows; for(columns = 0; columns < j; columns++) { cout << "\nColumn Iteration = " << columns + 1 << ", Column Number = " << columns << ", and Row Number = " << rows; cout << "\nThe Value in sparseMat[" << rows << "][" << columns << "] = " << sparseMat[rows][columns]; cout << "\nThe Result of (sparseMat[" << rows << "][" << columns << "] == 0) " << (sparseMat[rows][columns] == 0) ; if(sparseMat[rows][columns] == 0) { total++; } } } if(total > (rows * columns)/2) { cout << "\nThe Matrix you have entered is a Sparse Matrix"; } else { cout << "\nThe Matrix you have entered is Not a Sparse Matrix"; } return 0; }
Please Enter the Matrix rows and Columns = 2 2
Please Enter the Sparse Matrix Items
10 0
0 0
Row Iteration = 1, Row Number = 0
Column Iteration = 1, Column Number = 0, and Row Number = 0
The Value in sparseMat[0][0] = 10
The Result of (sparseMat[0][0] == 0) 0
Column Iteration = 2, Column Number = 1, and Row Number = 0
The Value in sparseMat[0][1] = 0
The Result of (sparseMat[0][1] == 0) 1
Row Iteration = 2, Row Number = 1
Column Iteration = 1, Column Number = 0, and Row Number = 1
The Value in sparseMat[1][0] = 0
The Result of (sparseMat[1][0] == 0) 1
Column Iteration = 2, Column Number = 1, and Row Number = 1
The Value in sparseMat[1][1] = 0
The Result of (sparseMat[1][1] == 0) 1
The Matrix you have entered is a Sparse Matrix