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

看板C_and_CPP (C/C++)作者 (社會人)時間16年前 (2009/10/08 00:22), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/11 (看更多)
小弟在寫一個程式 用取亂數的方式,產生一個5x5矩陣,並且使其內部的25個數字,皆不能重複 可是不知道哪裡出錯了 #include<stdio.h> #include<stdlib.h> #include<time.h> #define ROW 5 #define COL 5 #define number 25 int main(void) { int i,j; int tmp,m,n; int a[ROW][COL]; srand(time(NULL)); for(i=0;i<ROW;i++) { for(j=0;j<COL;j++) { a[i][j]=1+rand()%number; } } for(i=0;i<ROW;i++) { for(j=0;j<COL;j++) { srand(time(NULL)); m=1+rand()%number;    n=1+rand()%number; tmp=a[m][n]; a[ROW][COL]= a[m][n];    a[m][n] = tmp; } } system("pause"); return 0; } 希望各位大大能夠指導我問題錯在哪裡? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.13.125

10/08 00:28, , 1F
有個明顯的錯誤:srand在程式開頭呼叫一次就好
10/08 00:28, 1F

10/08 00:34, , 2F
a[m(1~25)][n(1~25)] 想幹麻?
10/08 00:34, 2F

10/08 00:36, , 3F
要不要先去找一個撲克洗牌法?
10/08 00:36, 3F

10/08 23:23, , 4F
這樣只是取亂數 有避面重複嗎???
10/08 23:23, 4F
文章代碼(AID): #1ApC1FjJ (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ApC1FjJ (C_and_CPP)