[問題]產生不重複的1~16隨機排列
我是寫嵌入式的...
所以有些C函式不能用....
大概寫一下我的運作程式碼
INT32U i,j,a[16],array[4][4],DD[]={218,308,404,497,120,210,300,390};
while(1)
{
srand(rand());
for(i=0;i<16;i++)
{
ran: a[i]=1+rand()%16; 產生1~16的隨機亂數
for(j=0;j<i+1;j++)檢查是否重複
{
if(i==0)只有一個數時不用檢查
break;
if(a[i]==a[j])如果重複...隨機亂數重新產生
goto ran;
}
array[i/4][i%4] = a[i];array裡是把1~16的隨機數放到4*4的矩陣
}
}
但是我這樣寫跑不出一個結果
請問我有哪邊錯誤了嗎@@?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.127.113.74
→
10/05 11:41, , 1F
10/05 11:41, 1F
→
10/05 11:43, , 2F
10/05 11:43, 2F
※ 編輯: SuperEel 來自: 122.127.113.74 (10/05 11:44)
→
10/05 11:44, , 3F
10/05 11:44, 3F
→
10/05 11:47, , 4F
10/05 11:47, 4F
→
10/05 11:48, , 5F
10/05 11:48, 5F
→
10/05 11:49, , 6F
10/05 11:49, 6F
推
10/05 11:49, , 7F
10/05 11:49, 7F
→
10/05 11:50, , 8F
10/05 11:50, 8F
→
10/05 11:59, , 9F
10/05 11:59, 9F
→
10/05 11:59, , 10F
10/05 11:59, 10F
→
10/05 12:00, , 11F
10/05 12:00, 11F
→
10/05 12:05, , 12F
10/05 12:05, 12F
→
10/05 12:31, , 13F
10/05 12:31, 13F
→
10/05 12:32, , 14F
10/05 12:32, 14F
→
10/05 12:34, , 15F
10/05 12:34, 15F
→
10/05 12:40, , 16F
10/05 12:40, 16F
→
10/05 12:40, , 17F
10/05 12:40, 17F
→
10/05 12:41, , 18F
10/05 12:41, 18F
→
10/05 13:15, , 19F
10/05 13:15, 19F
→
10/05 13:59, , 20F
10/05 13:59, 20F
→
10/05 14:00, , 21F
10/05 14:00, 21F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章