以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教下遍历后取最大值对应的位置的项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97819)

--  作者:coolbbs
--  发布时间:2017/3/18 23:47:00
--  请教下遍历后取最大值对应的位置的项目
Dim Sum As Integer
Dim i As Integer
Dim cpl As Single
Dim bz As Single
Dim cczs As Integer
Dim lst2 As New List(Of Integer)
Dim lst1 As New List(Of Single)
Dim zz As Single=0.88*6
output.show(zz)
For i = 280 To 580
bz=Int((i/1000*30.5-1.0675)/zz)*zz/(i/1000*30.5)
cczs=Int((i/1000*30.5-1.0675)/zz)
If bz>0.9
   Output.Show("棒长:"&cstr(i)&"  出材支数:"&cstr(cczs)&"   利用率:"&cstr(bz))
lst1.Add(bz)
lst2.add(i)
End If
Next
lst1.Sort 
MessageBox.Show("最优化利用率"&lst1(lst1.Count - 1))
MessageBox.Show("最优化利用率使用棒长"&lst2(lst2.Count - 1))  这个代码要得出最优化利用率的棒长,这是里要怎么写?
==============================================
上面的代码得出下面的结果,为什么棒长得出来的结果不是最优化利用率的棒长,而是最后一个棒长?
最优化利用率出来的结果是利用率的最大值了,求相应的棒长。
5.28
棒长:382  出材支数:2   利用率:0.90636
棒长:383  出材支数:2   利用率:0.9039935
棒长:384  出材支数:2   利用率:0.9016394
棒长:555  出材支数:3   利用率:0.9357555
棒长:556  出材支数:3   利用率:0.9340724
棒长:557  出材支数:3   利用率:0.9323955
棒长:558  出材支数:3   利用率:0.9307245
棒长:559  出材支数:3   利用率:0.9290596
棒长:560  出材支数:3   利用率:0.9274005
棒长:561  出材支数:3   利用率:0.9257474
棒长:562  出材支数:3   利用率:0.9241002
棒长:563  出材支数:3   利用率:0.9224588
棒长:564  出材支数:3   利用率:0.9208232
棒长:565  出材支数:3   利用率:0.9191934
棒长:566  出材支数:3   利用率:0.9175694
棒长:567  出材支数:3   利用率:0.9159511
棒长:568  出材支数:3   利用率:0.9143385
棒长:569  出材支数:3   利用率:0.9127316
棒长:570  出材支数:3   利用率:0.9111303
棒长:571  出材支数:3   利用率:0.9095346
棒长:572  出材支数:3   利用率:0.9079446
棒长:573  出材支数:3   利用率:0.90636
棒长:574  出材支数:3   利用率:0.904781
棒长:575  出材支数:3   利用率:0.9032074
棒长:576  出材支数:3   利用率:0.9016394
棒长:577  出材支数:3   利用率:0.9000767


[此贴子已经被作者于2017/3/18 23:47:15编辑过]

--  作者:狐狸爸爸
--  发布时间:2017/3/20 8:11:00
--  
这种问题,应该再增加一个字典,用于记录每个棒长的最优化利用率

Dim dic As new Dictionary(of integer,Double)
。。。

For 遍历语句
   if dic.ContainsKey(棒长)  = False then 
      dic.Add(棒长,利用率)
   Elseif dic(棒长) < 利用率
       dic(棒长) = 利用率
    Else 
      Continue for
   End If 
   ...
Next

最后这个字典,就是每个棒长的最优利用率。

--  作者:coolbbs
--  发布时间:2017/3/20 23:20:00
--  
明白了,谢谢!