作者nt827 (社會人)
看板C_and_CPP
標題[問題] 用c產生一個亂數矩陣並檢查是否重複
時間Thu Oct 8 00:22:38 2009
小弟在寫一個程式
用取亂數的方式,產生一個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
1F:→ james732:有個明顯的錯誤:srand在程式開頭呼叫一次就好 10/08 00:28
2F:推 snowlike:a[m(1~25)][n(1~25)] 想幹麻? 10/08 00:34
3F:→ tropical72:要不要先去找一個撲克洗牌法? 10/08 00:36
4F:→ iefirefox:這樣只是取亂數 有避面重複嗎??? 10/08 23:23