首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

寻找一列数据中的尖峰值,为什么程序无响应?解决方法

2012-01-13 
寻找一列数据中的尖峰值,为什么程序无响应?PrivateSubcmdfindmax_Click()CommonDialog1.Action1OpenCommo

寻找一列数据中的尖峰值,为什么程序无响应?
Private   Sub   cmdfindmax_Click()


CommonDialog1.Action   =   1

Open   CommonDialog1.FileName   For   Input   As   #1

Do   While   Not   EOF(1)
          Line   Input   #1,   inputdata
         
          Data   =   Data   +   inputdata   +   vbCrLf
         
           
Loop
a   =   Split(Data,   vbCrLf)
Close   #1
'///////////以上代码的目的是把txt格式的一列数据导入到数组a中////////////
i   =   0
  Open   "c:\speeddata.txt "   For   Append   As   #2
Do   While   (i   <   UBound(a))
 
    If   a(i   +   1)   > =   a(i)   And   a(i   +   1)   > =   a(i   +   2)   Then
   
    Print   #2,   a(i)
   
    i   =   i   +   1
    End   If
 
Loop
  Close   #2
End   Sub
'///////////以上代码的意思是找到数据列里的尖峰值,比如1   2   1   2   2   3   4   1   0,找出的尖峰值就是2   4
现在的问题是:我执行程序的时候,会出现程序未响应,CPU到100%     我不知道哪里出错了?而当我把if   和endif语句屏蔽掉的时候,就不会有错误。




[解决办法]
Do While (i < UBound(a))
If a(i + 1) > = a(i) And a(i + 1) > = a(i + 2) Then
Print #2, a(i)
End If
i = i + 1 '这一句的位置一定要放正确哦
Loop

热点排行