English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

假設一個物流中心裡有十個架料,每個料架中有十個儲位,每一個儲位放置一個商品(共有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

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

fedest.com, questions and answers