返回列表 上一主題 發帖

[發問] 如何使用陣列比對交集的程式碼?

回復 1# PKKO
就是跑迴圈啊...有啥理由不能跑迴圈
如果會執行很多次這種運算,就包成Function
  1. '二維矩陣做AND
  2. Function MatrixAND2D(matrix1, matrix2)
  3.     If LBound(matrix1) <> LBound(matrix2) Or _
  4.         UBound(matrix1) <> UBound(matrix2) Or _
  5.         LBound(matrix1, 2) <> LBound(matrix2, 2) Or _
  6.         UBound(matrix1, 2) <> UBound(matrix2, 2) Then
  7.         Err.Raise vbObjectError + 9999, "MatrixAND()", "兩矩陣上下標不同"
  8.     End If
  9.    
  10.     Dim arResult, r, c
  11.     ReDim arResult(LBound(matrix1) To UBound(matrix1), LBound(matrix1, 2) To UBound(matrix1, 2)) As Boolean
  12.     For r = LBound(matrix1) To UBound(matrix1)
  13.         For c = LBound(matrix1, 2) To UBound(matrix1, 2)
  14.             arResult(r, c) = matrix1(r, c) And matrix2(r, c)
  15.         Next
  16.     Next
  17.     MatrixAND2D = arResult
  18. End Function

  19. Sub test()
  20.     Dim a(1 To 2, 1 To 2) As Boolean, b(1 To 2, 1 To 2) As Boolean
  21.     Dim c
  22.    
  23.     a(1, 1) = True: a(1, 2) = True: b(1, 1) = True
  24.     c = MatrixAND2D(a, b)
  25.     [a1].Resize(2, 2) = c
  26. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

        靜思自在 : 有智慧才能分辨善惡邪正;有謙虛才能建立美滿人生。
返回列表 上一主題