我有一個包含不同選擇概率的數組。例如:數組的概率C++
數組1具有{5,3,2,7,1}個值。選擇「0」有5/18的選擇機會,選擇「1」有3/18的機會..等等。 「18」是數組值的總和。
這裏是我的代碼(在這種情況下,我們有8種選擇):
int i = rand() % sumofvaluesofarray; //edited from array_size
int c = 0;
int sum = 0;
while(c < 8){
sum += array[c];
if(i < sum){
choice = c;
break;
}
c += 1;
}
這是一個非工作計劃的一部分,但我懷疑問題出在這部分代碼。它有什麼問題嗎?無論如何更有效地編寫代碼?
「問題出在這部分代碼上」。什麼問題? –
退房'' –
請不要繼續編輯代碼。確保你已經發布了你正在編譯的代碼。問題是什麼?你有錯誤嗎?如果是這樣,那是什麼? –