假設一個物流中心裡有十個架料,每個料架中有十個儲位,每一個儲位放置一個商品(共有100個商品),我利用多維陣列來表示,例:item(1,2)為第一個料架中的第二個儲位,item(5,7)為第五個料架中的第七個儲位。
一天當中,假設有ite個訂單,每張訂單有qut個商品,其中ite和que利用亂數來產生數據,而在每一張訂單中的商品內容不可以有重覆一樣的商品,例
訂單1:item(2,6),item(3,8),item(5,9),item(10,3)------(0)
訂單1:item(2,6),item(3,8),item(3,8),item(10,3),item(10,3)----(×)
如何讓每張訂單的內容都不重覆,上面所提到的料架和商品是要有彈性的,不一定要都是十個十個,是依輸入數目來做決定
2006-05-03 16:19:04 · 1 個解答 · 發問者 雞排勇 2 in 電腦與網際網路 ➔ 程式設計
謝謝你的答案,我可以再請教一個問題嗎,當我在form表單中寫程試時,我要叫出 excel裡頭的函數norminv時,不是打Application.WorksheetFunction.NormInv(probability, mean, standard_dev)
但當我執行時,上面確說無法叫出這個函數,是不是要是先設定什麼,不好意思,一直在問…
2006-05-05 12:35:18 · update #1
Private Sub Command1_Click()Dim M&, N&, S$, I&, J&, X&, Y&, Ite%, Qut&Do S = InputBox("請輸入料架數目", "", 10) If S = "" Then Exit SubLoop Until Val(S) > 0M = Int(Val(S))Do S = InputBox("請輸入儲位數目", "", 10) If S = "" Then Exit SubLoop Until Val(S) > 0N = Int(Val(S))'訂定陣列大小ReDim A(1 To M, 1 To N) As BooleanAutoRedraw = True: ClsRandomize'隨機產生訂單數量Ite = Int(Rnd * 10 + 1)For I = 1 To Ite Print "訂單"; I; ": "; For X = 1 To M For Y = 1 To N A(X, Y) = False Next Next '隨機產生商品數量 Qut = Int(Rnd * M * N + 1) For J = 1 To Qut Do X = Int(Rnd * M + 1) Y = Int(Rnd * N + 1) '若A(X,Y)之商品未被選中(False)就跳出迴圈 Loop Until A(X, Y) = False A(X, Y) = True Next '輸出A(X,Y)=True之商品 For X = 1 To M For Y = 1 To N If A(X, Y) Then Print "("; X; ","; Y; ")"; Next Next PrintNextEnd Sub
2006-05-04 16:22:09 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋