请问如何建立一个有10个元素的数组,然后计算其中5个元素的平均值
时间:2011-08-09
来源:互联网
请问:
1、如何建立一个(1,2,3,4,5,6,7,8,9,10)的数组
2、求上述数组相邻5个数的平均值,如:(1,2,3,4,5)、(2,3,4,5,6)、(3,4,5,6,7)........
3、将计算得到的平均值赋值于一个新的数组。
4、若在第一个数组中计算所有5个数的组合的平均值,如:(1,2,3,4,5)、(1,2,3,4,6)、(1,2,3,4,7).......,并将平均值赋值与一个新数组,可否实现?
1、如何建立一个(1,2,3,4,5,6,7,8,9,10)的数组
2、求上述数组相邻5个数的平均值,如:(1,2,3,4,5)、(2,3,4,5,6)、(3,4,5,6,7)........
3、将计算得到的平均值赋值于一个新的数组。
4、若在第一个数组中计算所有5个数的组合的平均值,如:(1,2,3,4,5)、(1,2,3,4,6)、(1,2,3,4,7).......,并将平均值赋值与一个新数组,可否实现?
作者: yahaa_L 发布时间: 2011-08-09
第4个是排列组合,借用彭版的:
复制内容到剪贴板
Dim c()
Sub Peng()
Dim jj As Long, cc As Long, Rng As Range
ReDim c(Application.Combin(10, 5))
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Call xi(0, arr, 1, 0, 5, jj)
MsgBox Join(c)
End Sub
Sub xi(a, arr, x As Long, y As Long, z As Long, jj As Long)
If y = z Then
jj = jj + 1
c(jj) = a / 5
Exit Sub
End If
If x = UBound(arr) + 1 Then Exit Sub
If y + UBound(arr) - x + 1 < z Then Exit Sub
Call xi(a + arr(x), arr, x + 1, y + 1, z, jj)
Call xi(a, arr, x + 1, y, z, jj)
End Sub
[ 本帖最后由 Zamyi 于 2011-8-9 14:58 编辑 ] 代码:
Option Base 1Dim c()
Sub Peng()
Dim jj As Long, cc As Long, Rng As Range
ReDim c(Application.Combin(10, 5))
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Call xi(0, arr, 1, 0, 5, jj)
MsgBox Join(c)
End Sub
Sub xi(a, arr, x As Long, y As Long, z As Long, jj As Long)
If y = z Then
jj = jj + 1
c(jj) = a / 5
Exit Sub
End If
If x = UBound(arr) + 1 Then Exit Sub
If y + UBound(arr) - x + 1 < z Then Exit Sub
Call xi(a + arr(x), arr, x + 1, y + 1, z, jj)
Call xi(a, arr, x + 1, y, z, jj)
End Sub
作者: Zamyi 发布时间: 2011-08-09
为什么MsgBox的结果只显示一个“0”的?
作者: yahaa_L 发布时间: 2011-08-09
忘了,Cells(1, 2)改为5
作者: Zamyi 发布时间: 2011-08-09
代码中找不到“Cells(1, 2)”呀?????
作者: yahaa_L 发布时间: 2011-08-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28