VB,将若干个数插入到一个数组中的指定位置

就是将m个数用inputbox输入,然在插入到原来的那个数组中的指定位置
n = Val(InputBox("请输入要插入数的位置,如第三个位置则为 3,注意大于零并且小于原数组的元素个数!!!"))
m = Val(InputBox("请输入要插入的数的个数,注意大于零!!!"))

说一下思路:
1、定义数组时建议定义成动态数组(DIM PRESERVE);
2、输入一个数,数组动态增加1个;
3、比如在第3位插入4个数,则先将数组增加4,再从增加前的益一个一个移动到后面去(空出前面要插入的地方);
4、再将插入的数据赋给相应数组。追问

能给代码么?亲

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-04
插入,肯定要将后面的元素向后移动?
那么,就要增加数组的元素?
那么,要采用VB的动态数组追问

然后就是要怎么编呢?代码什么的最有爱了

追答

Private Sub Command1_Click()
Dim d() As Integer
Dim m As Integer
Dim i As Integer
Dim n As Integer
Dim P As Integer
Dim x As Integer
Dim R As Integer

'先生成10个元素的数组
n = 10
ReDim d(1 To n) As Integer
For i = 1 To n
d(i) = Int((100 * Rnd) + 1)
Next i

'显示原数组
For i = 1 To n
Print d(i); " ";
Next i
Print

m = Val(InputBox("请输入要插入的数的个数,注意大于零!!!"))
'输入m个数并插入到指定位置
For P = 1 To m
x = Val(InputBox("请输入要插入数!"))
Do While True
R = Val(InputBox("请输入要插入数的位置,如第三个位置则为 3,注意大于零并且小于" & n & "!!!"))
If R = n Then
MsgBox "请输入要插入数的位置,如第三个位置则为 3,注意大于零并且小于" & n & "!!!"
Else
Exit Do
End If
Loop
'开始插入的数据
'增加数组元素
n = n + 1
ReDim Preserve d(1 To n) As Integer
For i = n To R + 1 Step -1
d(i) = d(i - 1)
Next i
d(R) = x
Next P

'显示新数组
For i = 1 To n
Print d(i); " ";
Next i
Print

End Sub

本回答被提问者采纳
相似回答