c - 稀疏矩阵函数

标签 c

(编写一个 C 函数来检查矩阵 (4x5) 是否稀疏。要知道:稀疏矩阵是零数超过其大小一半的矩阵。)

对于外主题中的工作表来说这是一个问题 这是我的代码:

#include <stdio.h>
#include <stdlib.h>

int Spare(int [4][5]);

int main()
{
    int arr[4][5];
    int m,n;
    for(m=0;m<4;m++){
        for(n=0;n<5;n++){
            scanf("%d ",&arr[4][5]);
        }
    }
    Spare(arr[4][5]);
    return 0;
}

int Spare(int Arr[4][5]){

    int i,j;
    int zerocount=0;
    for(i=0;i<4;i++){
        for(j=0;j<5;j++){

            if(Arr[i][j]==0){
                zerocount++;
            }
        }
    }
    if(zerocount>=10) return 1;
    else return 0;
}

它正在运行,但在用户输入数组后,它停止工作! 有帮忙的人吗?

最佳答案

scanf("%d",&arr[4][5]) 更改为 scanf("%d",&arr[m][n])。您只需每次在循环中将输入存储在 arr[4][5] 中即可。

Spare(arr[4][5]) 仅传递第五行第六列不存在的元素。 Spare 函数需要一个数组作为参数,而您仅传递单个元素。 函数调用必须以这种方式完成:Spare(arr)

关于c - 稀疏矩阵函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43818386/

相关文章:

仅给定一个指针,计算 c 中数组的大小

python - 协议(protocol)中的 CRC 计算不正确。一种是使用zlib实现的,另一种是用函数计算的

c - C 中的 read() 错误

c - GCC 优化选项 "tree-***"系列的目的是什么?

c - C 中的外部链接

c - 如何知道任何库函数(中止)调用是否在源代码中多次使用?

c++ - 纹理和纹理映射 GLUTess 多边形?

C 在 while 循环中连接字符串

c - 可选的初始化程序,通过预处理器欺骗?

C 编译错误