[英]How to check if an element exists more than once in matrix (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 出現了兩次(不計算第一行的第二個 1)。 因此,通過在矩陣上調用count
,您將通過檢查數字是否大於 1 來知道number
出現多次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.