作者BeMySelf94 ( )
看板C_and_CPP
標題[問題] 二維陣列亂數不重複
時間Thu Mar 12 14:52:31 2015
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