※ 引述《stormbird (單眼皮)》之銘言:
: 我要寫一個聯集減交集的運算式,但是每次都只出先現最大的值,不知是哪裡出錯,可
: 以幫我看一下那裡出問題,或是可以更精簡的!!謝謝
: Dim n1(15) As Integer
: Dim n2(15) As Integer
: Dim n4(15) As Integer
: Dim k(15) As Integer
: Dim q(15) As Integer
: '聯集減交集
: For i = 0 To 15
: n1(i) = Val(Text1(i).Text)
: n2(i) = Val(Text2(i).Text)
: n4(i) = Val(Text4(i).Text)
: '取聯集
: If n1(i) > n2(i) And n1(i) > n4(i) Then
: k(i) = n1(i)
: ElseIf n2(i) > n1(i) And n2(i) > n4(i) Then
: k(i) = n2(i)
: ElseIf n4(i) > n1(i) And n4(i) > n2(i) Then
: k(i) = n4(i)
: '取交集
: ElseIf n1(i) < n2(i) And n1(i) < n4(i) Then
: q(i) = n1(i)
: ElseIf n2(i) < n1(i) And n2(i) < n4(i) Then
: q(i) = n2(i)
: ElseIf n4(i) < n1(i) And n4(i) < n1(i) Then
: q(i) = n4(i)
: End If
: Text3(i).Text = k(i) - q(i)
: Next i
沒想錯的話,你在前三個if elseif條件式,就已經把所有可能篩選完了
(除了n1=n2 or n1=n4 or n2=n4之外)
所以你的程式絕對不會跑道後三個條件式中,
理所當然 k(i) 永遠就是這三個數最大的那一個
而q(i)根本沒機會被指定為某個數字,所以永遠都是0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.5.204