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中unwrap和expect的区别 在 Rust 中,unwrap() 和 expect() 是 Option 和 Result 类型(也可能是其他类型)提供的方法,用于从这些类型中获取包含的值。它们的区别在于如何处理潜在的错误。
Golang实现冒泡排序算法(Bubble Sort) 本文将使用Go语言完成冒泡排序算法(Bubble Sort)的实现;
如何查看Golang版本 不论是Windows,还是Linux环境,要查看Golang版本,只需要在命令行(CMD)或Shell中输入命令:
Python计算二阶行列式的值 本文将使用Python语言编写程序计算二阶行列式的值;
Rust line宏的用法和示例 在Rust中,line宏用于获取代码中当前的行号;通过在代码中使用line宏,开发者可以轻松地在编译时获取到所在位置地行号信息,从而实现更灵活地代码逻辑和调试方案。
Linux终端重用上一条命令的参数 在Linux系统下,当你想使用上一条命令所用的参数,你可以通过这一条命令实现: