VB6 用数组作函数参数并返回一个数组的实例

导读:
  这是我在博客园的处女作,写的肯定不好,高手别见笑。有错误的地方,欢迎批评指正,谢谢大家支持!
  有时候需要对数组进行操作,这就要求函数能够用数组作为参数,并能返回一个数组。比如说要编写一个函数,用于计算两个矩阵的乘法,这两个参数必须是两个二维数组,并且返回值也要是一个二维数组,本文就以计算矩阵乘法为例,写了一个函数,大家一起讨论讨论。
  代码如下:
  '计算两个矩阵乘法
  '矩阵为整型
  
  
  
  
  Public Function iMUL()Function iMUL(a() As Integer, b() As Integer) As Variant
  
  Dim i, j, k As Integer
  
  If UBound(a, 2) <> UBound(b, 1) Then
  
  MsgBox "参数错误,请输入两个可以相乘的矩阵!"
  
  End
  
  End If
  
  Dim c() As Integer
  
  ReDim c(UBound(a, 1), UBound(b, 2))
  
  For i = 0 To UBound(a, 1)
  
  
  For k = 0 To UBound(b, 2)
  
  
  c(i, k) = 0
  
  For j = 0 To UBound(a, 2)
  
  
  c(i, k) = c(i, k) + a(i, j) * b(j, k)
  
  
  Next j
  
  
  Next k
  
  Next i
  
  
  iMUL = c
  
  End Function
  
  
  算法就不必说了,学过线代的都看得懂。
  因为我是菜鸟,所以写点我在写这个函数的时候碰到的一些小问题,希望能对广大菜鸟们有一些帮助:
  由于返回的是一个数组,所以函数必须申明为变体类型是(variant),当然,不指明也可.
  函数的参数是数组,必须是引用参数,可以在前面加上byref,不加VB也能认出这是数组,会默认为byref.
  数组C用于保存返回的数组,必须申明为动态数组,也必须Redim它的大小,如果直接申明它的大小会报错,大家试试看就     知道了。
  好了,今天就写到这里了,下次再发一个求逆阵的算法,也是矩阵作参数,不过重点是算法。
  感谢 blueskit 的指点,将函数声明为Integer()是可以的.也建议大家这样做。我之所以会用Vriant是因为我没有想到在类型后加上括号可以表示一个数组类型。

本文转自
http://www.cnblogs.com/wanglonghao/archive/2007/11/15/958465.html
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值