Re: [問題] 用c產生一個亂數矩陣並檢查是否重複

看板C_and_CPP (C/C++)作者 (Alien)時間16年前 (2009/10/08 18:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串7/11 (看更多)
※ 引述《kadasaki (軟硬兼溼)》之銘言: : ※ 引述《ioioioioioio (討戰是興趣)》之銘言: : : 玩賓果遊戲嗎 : : srand(time(NULL)); : : a[0] = 1 + rand() % 25; : : for(i=1; i<25; i++) : : { : : label: : : a[i] = 1 + rand() % 25; : : for(j=0; j<i; j++) : : { : : if(a[i] == a[j]) : : goto label; : : } : : } : : 應該有更好的方法吧~ 高手請指正 : : 我也是新手 加油 : for(i=1;i<25;i++) 0 吧?! : { : LOOP: : b=rand()%25; : if(a[b]==NULL) 人家不是 ptr 何來 null?!... : a[b]=i; : else : goto LOOP; : } : 有好有壞:D:D : 只要你夠神 就是25次解決 雖然我覺得這方法不太好. 但看到不必要的 goto 就令我很不舒服... // 假設已經 memset 為 -1 吧 for (i = 0; i < 25; ) { index = rand() %25; if (a[index] == -1) { a[index] = i++; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82

10/08 19:40, , 1F
可能是把 NULL 當成 0 吧, 雖然是很不一樣的東西
10/08 19:40, 1F
文章代碼(AID): #1ApRg6NM (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ApRg6NM (C_and_CPP)