C语言检查矩阵是否为稀疏矩阵

在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;

本文将使用C语言来检查矩阵是否为稀疏矩阵;如果矩阵中的0数超过(n*m)/2,则矩阵为稀疏矩阵,其中的n为矩阵的维数。

示例代码:

#include <stdio.h>
 
void main ()
{
    int matrix[10][10];
    int i, j, m, n;
    int sparse_counter = 0;
 
    printf("Enter the order of the matix \n");
    scanf("%d %d", &m, &n);
    printf("Enter the elements of the matix \n");
    for (i = 0; i < m; ++i)
    {
        for (j = 0; j < n; ++j)
        {
            scanf("%d", &matrix[i][j]);
            if (matrix[i][j] == 0)
            {
                ++sparse_counter;
            }
        }
    }
    if (sparse_counter > ((m * n) / 2))
    {
        printf("The given matrix is Sparse Matrix !!! \n");
    }
    else
        printf("The given matrix is not a Sparse Matrix \n");
    printf("There are %d number of Zeros.", sparse_counter);
}

程序运行效果如下:

Enter the order of the matix
3 3
Enter the elements of the matix
1 2 3
0 0 0
4 0 0
The given matrix is Sparse Matrix !!!
There are 5 number of Zeros.

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/check-if-a-matrix-is-a-sparse-matrix.html

分类: 计算机技术
推荐阅读:
Rust实现字符串sha1、sha256、sha512加密 本文将在Rust语言中使用sha1、sha256、sha512等安全散列算法对字符串进行加密;
C语言tolower()函数:将字符转换成小写 tolower()是C语言标准库中的一个函数,用于将一个字符转换成对应的小写形式;如果传入的字符参数是一个大写字母,tolower()函数会返回其对应的小写字母;如果参数不是大写字母,则原封不动的返回;
Rust:variable does not need to be mutable警告解决方法 在Rust中,当你使用了mut关键字声明变量,但你后面的代码并没对该关键字进行修改,则rust编译器会产生 variable does not need to be mutable 的警告提示;
Python实现二分法查找(binary search) 对于从小到大有序排列的元素组合,使用二分法查找(binary search)是一种效率较高的算法,其大致流程如下:
Golang中imported and not used:这类错误解决办法 在Golang中,比较容易碰到诸如 imported and not used: "time" 这样的错误;在这里表示你导入了一个time包却没有使用它;
Python字符串替换函数replace() replace()是Python中的一个内置函数;可通过replace()函数将字符串中的一部分替换成另一部分,并返回一个新的副本;