Re: [問題] 用c產生一個亂數矩陣並檢查是否重複
int a[5][5];
int size = 25;
int *num = new int[size];
int i, j, k;
for(i = 0 ; i < size ; i++) num[i] = i + 1;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j < 5 ; j++) {
k = rand() % size;
a[i][j] = num[k];
num[k] = num[--size];
}
}
delete [] num;
※ 引述《adrianshum (Alien)》之銘言:
: ※ 引述《kadasaki (軟硬兼溼)》之銘言:
: : 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: 211.74.9.2
※ 編輯: csihcs 來自: 211.74.9.2 (10/09 00:05)
推
10/09 00:20, , 1F
10/09 00:20, 1F
→
10/09 00:21, , 2F
10/09 00:21, 2F
※ 編輯: csihcs 來自: 211.74.9.2 (10/09 00:23)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 11 篇):