作者icene (kkk)
看板Visual_Basic
标题Re: [VB6 ] 联集与交集的运算
时间Wed May 9 23:06:30 2007
※ 引述《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