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

看板C_and_CPP作者 (非天夜翔)時間16年前 (2009/10/08 16:04), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串8/11 (看更多)
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
--size
10/09 00:20, 1F

10/09 00:21, , 2F
概念很棒
10/09 00:21, 2F
※ 編輯: csihcs 來自: 211.74.9.2 (10/09 00:23)
文章代碼(AID): #1ApWrv7S (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 11 篇):
文章代碼(AID): #1ApWrv7S (C_and_CPP)