gpt4 book ai didi

c - 如何计算矩阵中不同元素的数量? C语言编程

转载 作者:行者123 更新时间:2023-11-30 21:03:49 25 4
gpt4 key购买 nike

我有一个整数矩阵,需要计算矩阵中除 0 之外的不同整数的数量。例如,在这个中,

0 0 1 0
3 0 0 0
0 7 7 7
9 0 0 7

程序应该给出结果 4,因为除了 0 之外你还可以找到 4 个不同的整数。请记住,我必须将其应用于以这种方式初始化的矩阵:

celula ** matrizInit(int linhas, int colunas){
int i, j;
celula ** matriz;

matriz = (celula **)malloc(sizeof(celula)*linhas);
for(i = 0; i < linhas ; i++){
matriz[i] = (celula *)malloc(sizeof(celula)*colunas);
for(j = 0; j < colunas; j++){
matriz[i][j].linha = 0;
matriz[i][j].coluna = 0;
}
}
return matriz;

}

每个整数字段都可以使用 matriz[i][j].[INSERT_FIELD_OF_THE_STRUCTURE] 访问。提前致谢!

最佳答案

如果您要查找的整数范围从 1 到 9,我的想法是获取一个数组并将出现的次数存储在那里,然后循环遍历该数组对它们进行计数。

bool inMatrix[9] = {false};

因此,如果您找到数字 5,则可以标记位置 4(因为在 C 数组中从 0 开始,我们将其保留为 1)。

inMatrix[number-1] = true;

然后循环出现次数数组并对 true 进行计数

for (occurrences=0,i=0; i < 9; i++) {
if (inMatrix[i]) occurrences++;
}

你已经得到了出现次数。瞧。

但是如果整数范围很宽,你肯定需要将所有数字存储在一个集合中,限制重复的数字,然后对集合中的元素进行计数。

关于c - 如何计算矩阵中不同元素的数量? C语言编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20360002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com