我已用C寫下面的程序以在ARANDOM順序K個分佈到M * N(M =行,N =列)陣列分配以隨機的順序的所有數字爲二維陣列,其中K = MN,使得每個小區從0到MN獲得唯一的號碼。但有一個問題。我得到一些重複的數字進入求和單元格。 我將如何獲得所有唯一的號碼?從一個給定清單
樣例程序:#
#include<stdio.h>
#include<math.h>
#include <time.h>
#define row 5
#define col 5
int total=row*col;
int A[row][col];
main()
{
int i,j;
srand(time(NULL));
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
A[i][j]=rand()%total+1;
}
}
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("\nA[%d][%d]=%d",i,j,A[i][j]);
}
}
}
所以你不想隨機*數字*,你想要一個隨機*排列*? – EOF
是的。你是對的@EOF – ACE
然而,設置最初的數字,然後隨機將它們與fisher yates shuffle? – thrig