Home > Article > Backend Development > C program for sparse matrix
In a given matrix, when most of the elements are zero, we call it a sparse matrix. Example - 3 x3 matrix
1 1 0 0 0 2 0 0 0
In this matrix, most of the elements are zeros, so it is a sparse matrix.
Check whether a matrix is sparse.
#Let us assume that the zeros in the matrix are greater than (number of rows * number of columns)/2.
Then, this matrix is a sparse matrix, otherwise it is not.
The following is the program to check if a given matrix is sparse:
Demonstration
#include<stdio.h> #include<stdlib.h> int main(){ int row,col,i,j,a[10][10],count = 0; printf("Enter row</p><p>"); scanf("%d",&row); printf("Enter Column</p><p>"); scanf("%d",&col); printf("Enter Element of Matrix1</p><p>"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ scanf("%d",&a[i][j]); } } printf("Elements are:</p><p>"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ printf("%d\t",a[i][j]); } printf("</p><p>"); } /*checking sparse of matrix*/ for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ if(a[i][j] == 0) count++; } } if(count > ((row * col)/2)) printf("Matrix is a sparse matrix </p><p>"); else printf("Matrix is not sparse matrix</p><p>"); }
When the above program is executed, the following results will be produced-
Run 1: Enter row 3 Enter Column 2 Enter Element of Matrix1 1 0 2 0 2 0 Elements are: 1 0 2 0 2 0 Matrix is not sparse matrix Run 2: Enter row 3 Enter Column 2 Enter Element of Matrix1 1 0 0 0 0 0 Elements are: 1 0 0 0 0 0 Matrix is a sparse matrix
The above is the detailed content of C program for sparse matrix. For more information, please follow other related articles on the PHP Chinese website!