[問題] 二維陣列亂數不重複

看板C_and_CPP (C/C++)作者 ( )時間11年前 (2015/03/12 14:52), 11年前編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
C語言2維陣列要產生不重複的亂數 1維陣列我會做可是2維的我就不知道怎麼做了 下面是我的程式碼部分 int main() { int a[4][3],i,j,k,temp; srand(time(NULL)); for(i=0;i<=3;i++) { for(j=0;j<=2;j++) { a[i][j]=rand()%26+65; for(k=0;k<j;k++) { if(a[i][j]==a[i][k]) { j--; break; } } } } 好像只有同一列不重複而已... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.134.239.176 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1426143153.A.4F8.html ※ 編輯: BeMySelf94 (140.134.239.176), 03/12/2015 14:59:54

03/12 15:23, , 1F
不用洗牌法嗎?
03/12 15:23, 1F
沒有用過...有其他方法嗎,還是用洗牌法比較好做? ※ 編輯: BeMySelf94 (140.134.239.176), 03/12/2015 16:04:24

03/12 17:12, , 2F
想不開也可以先做出一條再把那一條摺成二維的
03/12 17:12, 2F

03/12 17:14, , 3F
洗牌法的確比較好 大陣列這樣循環檢查很浪費時間
03/12 17:14, 3F
了解,謝謝兩位的回答 ※ 編輯: BeMySelf94 (140.134.239.176), 03/12/2015 18:18:23

03/13 11:54, , 4F
a[i]=a[i-1]+rand 再打散如何
03/13 11:54, 4F
文章代碼(AID): #1L0JUnJu (C_and_CPP)
文章代碼(AID): #1L0JUnJu (C_and_CPP)