VB一个数组去除另一个数组中的元素??

vb程序,两个字符串数组,数组a(),数组b(),原本数组a()包含数组b(),用程序把数组a()中包含b的那部分去掉。
举例,a()=(1,2,3,4,5),b()=(2,3),最后我要得到一个数组,元素为(1,4,5),当然这只是举例,数组中的元素很多,不可能只有这几个

'说实话,这个对于新手是很难得!
'举个例子arr()数组为1-10的10个值,brr()数组为1-3的3个值
'去重之后的数组赋值到crr(),然后打印验证。
'有问题可以问我,运行效果如上图,代码如下:

Private Sub Command1_Click()
Dim arr(10), brr(3) As Integer
Dim crr(10)
Dim i, j, x, n, s As Integer
Dim a, b As Integer
m = 1
For i = 1 To 10
arr(i) = i
Next i '将1-10赋值给数组arr

brr(1) = 1
brr(2) = 2
brr(3) = 3 '将1-3赋值给数组brr

For j = 1 To UBound(brr())
 x = 1
 For x = 1 To UBound(arr())
  If arr(x) = brr(j) Then
    For n = x To UBound(arr) - 1 
    arr(n) = arr(n + 1)
    Next n
    s = s + 1
  End If
 Next x
Next j

Print "去重复后数组元素为:"
For a = 1 To UBound(arr()) - s
crr(a) = arr(a)
Print crr(a);'最终去重后的数据存入crr数组并打印验证
Next a

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-07
代码如下:数组C即A去除B后所得数组
dim i as integer, j as integer ,dim c() as string
redim c(0)
for i =0 to ubound(a)
for j =0 to ubound(b)

if a(i)=b(j) then exit for
next j

if j =ubound(b)+1 then

if c(0)<> "" then redim preserve c(uboudn(c)+1)

c(ubound(c))=a(i)

end if

next i本回答被网友采纳