Foxtable(狐表)用户栏目专家坐堂 → 请教下遍历后取最大值对应的位置的项目


  共有1401人关注过本帖树形打印复制链接

主题:请教下遍历后取最大值对应的位置的项目

帅哥哟,离线,有人找我吗?
coolbbs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:54 积分:809 威望:0 精华:0 注册:2009/2/6 9:08:00
请教下遍历后取最大值对应的位置的项目  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:54 积分:809 威望:0 精华:0 注册:2009/2/6 9:08:00
  发帖心情 Post By:2017/3/20 23:20:00 [只看该作者]

明白了,谢谢!

 回到顶部