当前位置:编程学习 > VB >>

用vb怎么进直线插补

有一个文本 数据如下
序号 数字
1    10
2    30
5    40
6    70
8    80
我批量进行插补 如序号步长为0.1  也要出现相应的数字

1    10
1.1  ……
1.2  ……
1.3  ……
1.4  ……
1.5  20
…… ……
2    30
以此类推 VB 行业数据 类 --------------------编程问答-------------------- 这个应该是个大众算法了
http://zhidao.baidu.com/question/48796419.html --------------------编程问答-------------------- 每两个点之间进行插补 --------------------编程问答-------------------- 算法设计问题,仅仅是用 VB 表达。

Dim strLine As String, strItem() As String
Dim oldItem0 As Currency, newItem0 As Currency
Dim oldItem1 As Currency, newItem1 As Currency
Dim step As Currency, i As Integer

Open "c:\1.txt" For Input As #1
Line Input #1, strLine
Do While InStr(strLine, Space(2))
    strLine = Replace(strLine, Space(2), Space(1))
Loop
strItem = Split(strLine, Space(1))

oldItem0 = Val(strItem(0))
oldItem1 = Val(strItem(1))

Do Until EOF(1)
    Line Input #1, strLine
    Do While InStr(strLine, Space(2))
        strLine = Replace(strLine, Space(2), Space(1))
    Loop
    strItem = Split(strLine, Space(1))
    
    newItem0 = Val(strItem(0))
    newItem1 = Val(strItem(1))
    
    step = (newItem0 - oldItem0) / (newItem1 - oldItem1)
    
    For i = 0 To (newItem1 - oldItem1) - 1
        Debug.Print Format(oldItem0 + i * step, "###.00"), oldItem1 + i
    Next i
    
    oldItem0 = newItem0
    oldItem1 = newItem1
Loop
Close #1
Debug.Print Format(oldItem0, "###.00"), oldItem1

结果:
1.00           10 
1.05           11 
1.10           12 
1.15           13 
1.20           14 
1.25           15 
1.30           16 
1.35           17 
1.40           18 
1.45           19 
1.50           20 
1.55           21 
1.60           22 
1.65           23 
1.70           24 
1.75           25 
1.80           26 
1.85           27 
1.90           28 
1.95           29 
2.00           30 
2.30           31 
2.60           32 
2.90           33 
3.20           34 
3.50           35 
3.80           36 
4.10           37 
4.40           38 
4.70           39 
5.00           40 
5.03           41 
5.07           42 
5.10           43 
5.13           44 
5.17           45 
5.20           46 
5.23           47 
5.27           48 
5.30           49 
5.33           50 
5.37           51 
5.40           52 
5.43           53 
5.47           54 
5.50           55 
5.53           56 
5.57           57 
5.60           58 
5.63           59 
5.67           60 
5.70           61 
5.73           62 
5.77           63 
5.80           64 
5.83           65 
5.87           66 
5.90           67 
5.93           68 
5.97           69 
6.00           70 
6.20           71 
6.40           72 
6.60           73 
6.80           74 
7.00           75 
7.20           76 
7.40           77 
7.60           78 
7.80           79 
8.00           80 
--------------------编程问答-------------------- 谢谢3楼代码 辛苦了 我是希望序号变动 数字跟着变动 如序号步长为0.1  数字就跟着变动  --------------------编程问答-------------------- 嘿嘿, 我就知道故事的变化会是这样.  --------------------编程问答--------------------

效果如图所示
将图面保存下来后,你改为 rar 档解压后是工程.
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,