關於矩陣重複元素檢測判斷條件的粗陋看法

2021-07-07 08:53:11 字數 848 閱讀 6418

矩陣重複元素檢測

問題描述:編寫程式判斷任意給定3*3的兩維整型陣列中是否有相同元素。

輸入:從鍵盤隨機輸入九個整數,作為陣列的元素。

輸出:如果陣列中有相同元素,則輸出「yes」;否則,輸出「no」。

樣例1:輸入 1 2 3 4 5 6 7 8 9   輸出 no

樣例2:輸入 1 1 2 3 4 5 6 7 8   輸出 yes

樣例3:輸入 1 2 3 3 4 5 6 7 8   輸出 yes

樣例4:輸入 1 2 3 4 5 6 7 8 8   輸出 yes

#include

int main(void)

if(k==1)

printf("yes");

else 

printf("no");

return 0;

}對於if判斷語句的描述:

if((a[i][j]==a[m][n])&&((i!=m)&&(j!=n)||(j!=n)&&(i==m)||(j==n)&&(i!=m)))

if((a[i][j]==a[m][n])&&!(i==m&&j==n))

if((a[i][j]==a[m][n])&&(i!=m||j!=n))

以上三個都是正確的;

f((a[i][j]==a[m][n])&&(i!=m&&j!=n)錯誤原因在於:

會把同行不同列或者同列不同行的兩個相同數值跳過;

假如a[0][0]和a[0][1]相同為1,滿足a[i][j]==a[m][n],但此時i!=m為假,j!=n為真,&&操作會使(i!=m&&j!=n)為假,使判斷條件整體為假,if語句不執行。

引用:中國大學慕課 吉林大學2015秋高階語言程式設計

C語言,判斷滿足條件不重複元素個數

include define n 50 int main printf 滿足的元素個數 printf d n a printf 滿足的元素為 n for i 0 i 計算不重複元素個數,用到兩個for迴圈,兩個陣列,第乙個陣列為滿足條件陣列,第二個陣列為不重複元素儲存陣列 shuzu2 0 shuz...

Set集合重複元素的判斷

set集合比較特殊,他的方法基本上和collection介面的方法一致,並且他沒有根據索引得到對應值的get int index 方法.更重要的是set集合不能放置重複的元素.她是怎麼判斷的呢?那麼,我們首先要讓物件具有比較性 一,儲存的自定義物件實現介面 comparable 複寫public i...

判斷陣列中的重複元素

問題,有乙個n 1個元素的陣列,包含1到n的n個數,外加乙個重複元素,將這個重複元素找出。方法一 使用置換法,由於下標是從0開始,如果nums i i 1,說明元素是放在正確的位置,繼續判斷。如果nums i nums nums i 1 說明nums i 就是重複元素,是要求找到的,否則就轉換num...