VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。

VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。,第1张

a(j)=min和a(j) = a(imin)是等价的,因为事实上min和a(imin)的值在那一个时刻是一样的。

但是min=t和a(imin) = t是不等价的,因为前一个改变的是min的值,后一个改变的是a(imin)的值。

这就好像小明和小强以前身高都是160cm,那么表示162cm的时候可以说:小明的身高+2cm,也可以说小强的身高+2cm。

但是小明和小强仍然是两个人,当小明又长高1cm的时候,你不能说成小强长高1cm。

在这里=号的功能不是表示等号两边的东西相等,而是表示将后面的值存到等号前面的变量里面,这叫做赋值。被赋值之后的变量丢失了以前的内容。

Private Sub Command1_Click()

    m = Array(2, 7, 9, -12, 5, 3)

    u = UBound(m)

    Print "数组初始值:";

    For i = 0 To u

        Print m(i);

    Next

    maxpos = 0

    minpos = 0

    Max = m(0)

    Min = m(0)

    For i = 0 To u

        If Abs(m(i)) < Min Then

            Min = Abs(m(i))

            minpos = i

        End If

        If Abs(m(i)) > Max Then

            Max = Abs(m(i))

            maxpos = i

        End If

    Next

    Print

    tmp = m(maxpos)

    m(maxpos) = m(minpos)

    m(minpos) = tmp

    Print "交换后数组的值:";

    For i = 0 To u

        Print m(i);

    Next

End Sub

dim i as integer

for i=0 to 3

print a(i)

next

很简单的,能看明白吧就是用循环实现将每个数组元素列印出来。

程序中很多诸如此类的应用都是利用循环,完成人力需要重复反复进行的工作,所以可以提高工作效率,这也正是计算机的魅力所在。

由于数组下标默认是0开始的。n个数组的下标是从0到n-1

if n mod=0 then '即数组个数为偶数个

for i=0 to n/2-1

temp=a(i)

a(i)=a(n-i-1)

a(n-i-1)=temp

next i

else '数组为奇数个,那么中间一个,不需要交换

for i=0 to (n-1)/2-1

temp=a(i)

a(i)=a(n-i-1)

a(n-i-1)=temp

next i

end if

如果下标从1开始,那么交换的就是a(i)与a(n+1-i),代码变成:

if n mod=0 then '即数组个数为偶数个

for i=1 to n/2

temp=a(i)

a(i)=a(n+1-i)

a(n+1-i)=temp

next i

else '数组为奇数个,那么中间一个,不需要交换

for i=1 to (n-1)/2

temp=a(i)

a(i)=a(n+1-i)

a(n+1-i)=temp

next i

end if

以上就是关于VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。全部的内容,包括:VB里面交换数组中元素的位置,怎样才能既交换了数据,又不交换下标本人是VB新手,还请各位大神指教。、VB中如何对数组求最大值与最小值并交换两者的次序、vb 对数组进行调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9755438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存