返回列表 上一主題 發帖

[發問] 三維陣列找最大值

[發問] 三維陣列找最大值

一個三維陣列PR(1 To 3, 1 To 30)
[ 5, 6, 2, 15, 11, ....]
[10, 21, 17, 5, 25, ...]
[11, 14, 8, 21, 24, ...]
該怎麼找PR(1, ), PR(2, ), PR(3, )的最大值?

Sub UTest()
Dim PR(1 To 3, 1 To 30), MX(1 To 3)
For i = 1 To 3
For j = 1 To 30
    PR(i, j) = Int(Rnd * 1000)
    If PR(i, j) > MX(i) Then MX(i) = PR(i, j)
Next
Next
MsgBox Join(MX, "_")
End Sub
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 1# acdx
底下是二維陣列:
PR(1 To 3, 1 To 30)

雖不曾寫過三維陣列,但三維應該像如下表示式:
PR(1 To 3, 1 To 30, 1 To 10)

TOP

本帖最後由 quickfixer 於 2018-5-20 21:32 編輯

Image 9.jpg
昨天 21:22
  1. '自己把第7行的資料來源改成pr()2維陣列
  2. Sub test()
  3.     Dim findmax As Object, mx(1 To 3)
  4.     Set findmax = CreateObject("System.Collections.ArrayList")
  5.     For i = 1 To 3
  6.         For j = 1 To 30
  7.             findmax.Add Cells(i, j).Value
  8.         Next j
  9.         findmax.Sort: findmax.Reverse
  10.         mx(i) = findmax.Item(0)
  11.         findmax.Clear
  12.     Next i
  13.     MsgBox Join(mx, "_")
  14.     Set findmax = Nothing
  15. End Sub
複製代碼

TOP

        靜思自在 : 君子立恆志,小人恆立志。
返回列表 上一主題