(编写一个 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/