我在研究C编程语言,并且遇到了一个我试图解决的问题。我试图寻找我的问题的答案,但我找不到。如何检查一个元素是否在矩阵(C)中存在多次?
我的问题是如何检查一个元素是否在矩阵中存在多次。此外,如果它存在多次但在同一行中,则不计数。
我试着写了一个函数来做到这一点,但是当我看到它的时候,我很头痛,呵呵,所以我想我从一开始就做错了。
有人可以告诉我该怎么做吗?
在此先感谢。
我在研究C编程语言,并且遇到了一个我试图解决的问题。我试图寻找我的问题的答案,但我找不到。如何检查一个元素是否在矩阵(C)中存在多次?
我的问题是如何检查一个元素是否在矩阵中存在多次。此外,如果它存在多次但在同一行中,则不计数。
我试着写了一个函数来做到这一点,但是当我看到它的时候,我很头痛,呵呵,所以我想我从一开始就做错了。
有人可以告诉我该怎么做吗?
在此先感谢。
对于你所要求的,你需要分析矩阵中的所有元素。如果该元素已在该列中找到,则还需要跟踪。下面是一个示例代码:
int count(int **matrix, int rows, int cols, int number) {
int count=0, found_in_row=0, i, j;
for(i=0; i<rows; i++) {
for(j=0; j<cols; j++) {
if(matrix[i][j]==number && found_in_row==0) {
count++;
}
}
found_in_row=0;
}
return count;
}
现在假设我有这个矩阵:
1 2 1
1 2 3
通过调用count(matrix, 3, 3, 1)
您将获得2作为答案。这意味着数字1出现两次(在第一行中计数第二个数字)。 因此,通过在您的矩阵上调用count
,您将知道是否number
通过检查是否大于1而发生。
这很有帮助,但我的意思是检查矩阵内**元素是否存在多次。所以函数需要检查矩阵中的每一个元素,如果它再次出现,但是在不同的行中。 – user3501779
我编辑了我的答案添加一个例子。如果这不是你问的,请给我更多关于你想要的信息 – WileTheCoyot
你正在发送函数调用号码。我的意思是,函数必须检查矩阵内部的一个数字是否自己重复。该函数没有收到一个数字并检查它是否在矩阵中存在多次,它检查矩阵中是否再次出现矩阵中的数字。 – user3501779
让我们看看函数。您会在短时间内发现您出错的原因以及原因。发布时,请提供一个描述,看看它在做什么,以及你期望它做什么。 – WhozCraig
你想输出在矩阵中重复的数字,但在其他行中? – nomorequestions
你可以发布你尝试过的代码吗?你需要的是遍历矩阵的每个元素,并将其与所有其他元素进行比较。 – Dan