稀疏矩阵的 C 程序


在给定的矩阵中,如果大多数元素为零,那么我们就称之为稀疏矩阵。示例 - 3 x 3 矩阵

1 1 0
0 0 2
0 0 0

在这个矩阵中,大多数元素为零,所以它是一个稀疏矩阵。

问题

检查一个矩阵是否是稀疏矩阵。

解决方案

  • 我们假设矩阵中的零元素比 (行数 * 列数)/2 多。

  • 那么,矩阵是一个稀疏矩阵,否则不是。

程序

以下是检查给定矩阵是否是稀疏矩阵的程序 -

 在线演示

#include<stdio.h>
#include<stdlib.h>
int main(){
   int row,col,i,j,a[10][10],count = 0;
   printf("Enter row
");    scanf("%d",&row);    printf("Enter Column
");    scanf("%d",&col);    printf("Enter Element of Matrix1
");    for(i = 0; i < row; i++){       for(j = 0; j < col; j++){          scanf("%d",&a[i][j]);       }    }    printf("Elements are:
");    for(i = 0; i < row; i++){       for(j = 0; j < col; j++){          printf("%d\t",a[i][j]);       }       printf("
");    }    /*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
");    else       printf("Matrix is not sparse matrix
"); }

输出

当执行上述程序时,它将产生以下结果 -

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

更新于: 2021-03-24

38K+ 查看

开启你的 职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.