看板 C_and_CPP 關於我們 聯絡資訊
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
james732: 不用洗牌法嗎? 03/12 15:23
沒有用過...有其他方法嗎,還是用洗牌法比較好做? ※ 編輯: BeMySelf94 (140.134.239.176), 03/12/2015 16:04:24
MOONRAKER: 想不開也可以先做出一條再把那一條摺成二維的 03/12 17:12
MOONRAKER: 洗牌法的確比較好 大陣列這樣循環檢查很浪費時間 03/12 17:14
了解,謝謝兩位的回答 ※ 編輯: BeMySelf94 (140.134.239.176), 03/12/2015 18:18:23
Qbsuran: a[i]=a[i-1]+rand 再打散如何 03/13 11:54