齿轮论坛 www.gearbbs.net

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜索
12
返回列表 发新帖
楼主: 120zh
收起左侧

[软件] vb 挂轮选取

  [复制链接]
发表于 2010-8-24 17:22 | 显示全部楼层
不会上传附件,晕,附上源代码吧,在窗体上增加LIST控件,就可以了
Private Sub Command1_Click()
List1.Clear
Dim i As Double, M As Double, L As Double, n As Double
Dim a As Integer, b As Integer, c As Integer, jj As Integer, d As Integer, E As Double
Dim g
    If Text1.Text = "" Then
        MsgBox "请输入滚比"
        Exit Sub
    Else
    End If
List1.AddItem "组  i(主动1)   j(从动1)   k(主动2)   l(从动2)    比(i/j)*(k/l)     差值"
i = Text1.Text
L = Text2.Text
jj = 0
For a = 30 To 99
    For b = 30 To 99
       For c = 30 To 99
          For d = 30 To 100
            M = a * c / (b * d)
            n = Abs(M - i)
            If ((n <= L) And (a + b - c > 30) And (a + b > 84) And (a + b < 169) And (c + d - b > 30) _
               And (a <> b) And (b <> c) And (c <> d) And (a <> c) And (b <> d) And (a <> d)) And (a * d <> c * b) Then
            jj = jj + 1
            List1.AddItem (CStr((Format(jj, "00"))) + Space(5) & CStr(a) + Space(9) & CStr(b) + Space(9) & CStr(c) + Space(9) & CStr(d) + Space(9) + CStr(Format(M, "0.00000")) + Space(10) & CStr(n)) & vbCrLf
            End If
            Next d
        Next c
    Next b
Next a
MsgBox "已经有" & jj & "种组合,可以重新选择精度要求!"
End Sub
发表于 2010-9-6 20:44 | 显示全部楼层
我以前编过一个程序,输出结果时也和楼上的相似,要等到全部搭配都找到后再显示,有个等待的时间,有没有办法求得一个就显示一个,这样不会感到等得太久。
发表于 2010-9-6 22:57 | 显示全部楼层
本帖最后由 洪都诺夫斯基 于 2010-9-6 23:00 编辑

以上两位的挂轮程序中的循环语句是超级简单,没有进行预筛选处理,虽然现在计算机速度是越来越快,但也会很费时间了。
还有,那么长的IF语句,应放在4重循环后进行.速度可能会好多了.
发表于 2010-9-7 20:45 | 显示全部楼层
IF语句放在四重循环后进行?待全部组合都算好后再来筛选,速度可能更慢吧。假如挂轮有50个,那就有6250000种组合呀。


发表于 2010-9-7 21:14 | 显示全部楼层
你的程序是有50*50*50*50=6250000组合,在四重循环内只筛选符合定数的组合,存另一数组中,之后从此数组中再筛选记录.
发表于 2010-9-9 21:55 | 显示全部楼层
回复 洪都诺夫斯基 的帖子

事先不知道6250000个搭配中符合安装条件的组合有多少个,这个数组就不大好定义,不知这种方法你试过吗?是否会快一些?   
发表于 2010-9-9 22:50 | 显示全部楼层
试过,可以先定义为1000,超过此数就跳出循环.
这种超级简单的筛选方法,我没去用过.
发表于 2010-9-11 21:55 | 显示全部楼层
那我试试看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|齿轮论坛

GMT+8, 2024-5-6 08:56 , Processed in 0.172412 second(s), 10 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表