s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
MsgBox s(i)
End If
Next
3 4 5这三个数满足条件,如何将满足条件的三个数存到一个新数组中,数组这块感觉很迷茫!!!如果不确定新数组元素个数时该作如何考虑??
VB提取数组元素组成新数组
答案:2 悬赏:0
解决时间 2021-04-06 11:12
- 提问者网友:千城墨白
- 2021-04-06 08:15
最佳答案
- 二级知识专家网友:瘾与深巷
- 2021-04-06 08:50
那就运行时重新定义A的下标范围,不过数据多了可能会影响效率
Dim A() As Integer '先定义一个空数组
s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
j = 1
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
ReDim Preserve A(1 To j) '更新A的下标范围
A(j) = s(i) '将满足条件的元素存到新数组元素,注意只能一个一个元素赋值
j = j + 1 '修改数组下标,以便存入下一个元素
MsgBox s(i)
End If
Next i
'最后 A(1)=3 A(2)=4 A(3)=5 后面没了
Dim A() As Integer '先定义一个空数组
s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
j = 1
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
ReDim Preserve A(1 To j) '更新A的下标范围
A(j) = s(i) '将满足条件的元素存到新数组元素,注意只能一个一个元素赋值
j = j + 1 '修改数组下标,以便存入下一个元素
MsgBox s(i)
End If
Next i
'最后 A(1)=3 A(2)=4 A(3)=5 后面没了
全部回答
- 1楼网友:气场征服一切
- 2021-04-06 10:24
private sub command1_click()
dim n(1 to 100) as integer
num = inputbox("请输入数组元素个数", "输入框")
print "原始数组为:"
for i = 1 to num
n(i) = i * 5 + 1
print n(i);
next
print
lp:
m = inputbox("请选择要删除元素的位置", "输入框")
num = num - 1
for i = m to num
n(i) = n(i + 1)
next
print "删除元素后数组变为:"
for i = 1 to num
print n(i);
next
print
if msgbox("是否继续删除?点击“确定”继续。", 1) = vbok then goto lp
end sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯