PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 疑難雜症區
(https://www.pcdvd.com.tw/forumdisplay.php?f=34)
- - 詢問 關於 C語言/VC6.0 隨機分配問題
(https://www.pcdvd.com.tw/showthread.php?t=1189414)
|
---|
詢問 關於 C語言/VC6.0 隨機分配問題
VC6 如何在 一個固定的整數 分配6個值 給 A B C D E F 六個隨機數值.
例如 例如整數是15 然後隨機分配給 A B C D E F A = 2 B = 3 C = 3 D = 2 E = 4 F = 1 總和 = 15 這樣VC6 哪個涵式可以實現 :confused: |
用枚舉跑幾個迴圈答案就出來了
|
另外問一下,隨機亂數很多人知道,
但是有"隨機排序"這種東西嗎? |
引用:
排序 跟 隨機 本質上好像是互斥的 你的意思是會不會是指「隨機分佈」? :ase |
建立一個長度為6的陣列
然後跑回圈15次取亂數,亂數區間為0-5,看跑出來的直屬於哪個offset,就把offset的直抓出來加1 最後把陣列走過一輪即可 如果要偷懶,那麼可以透過ascii code去把0的位置切為A即可(65+index) |
引用:
代碼:
// 長度為6的陣列 char RN[6] = {0}; int main() { //迴圈跑15次 for(i=0; i < 15; i++ ) { //亂數 0-5 int RNN=rand()%6; } return 0; } 你描述的後面我看不懂 :confused: |
引用:
就好比有一群隨機的人, 隨機地排成一列, 排列的結果(不同人組合的排列)為隨機排列. |
如果不能為零
A->F A 最大值為9 取亂數 B 最大值為9 - A 取亂數 ... 如果能為零 A->F A 最大值為15 取亂數 B 最大值為15 - A 取亂數 ... 如果可以有負數... 我不會.... |
引用:
引用:
所以說 排序 跟 排列 一字之差差很多啊… :ase |
引用:
int main (int argc,char *argv){ unsigned char RN[6] = {0}; int i=0,array_size=sizeof(RN)/sizeof(char); srand( (unsigned)time( NULL ) ); for( i=0; i < 15;i++ ) RN[rand()%array_size]+=1; for( i=0; i < array_size ; i++) printf("%c = %d\n",65+i,RN[i]); return 0; } 勿忘亂數種子阿 |
所有的時間均為GMT +8。 現在的時間是02:33 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2024。