作业帮 > 数学 > 作业

vb循环和条件判断现在有一个数组(5个元素),如果这五个数值有相差小于1的,合并为一组并求平均数,如果相差没有小于1的,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/30 10:53:42
vb循环和条件判断
现在有一个数组(5个元素),如果这五个数值有相差小于1的,合并为一组并求平均数,如果相差没有小于1的,保留原数,求最后有几组,并求出各组平均数.如果不清楚就看例子!
例1:一个数组数值分别为 1,3,4,7,8
3和4相差1,7和8相差1,合并为一组,所以一共有3组
第一组数值为1,第二组数值为(3+4)/2,第三组数值为(7+8)/2
输出:组数|1 2 3
数值|1 3.5 7.5
例2:一个数组1,3,4,5,6
分为2组,第一组1,第二组(3+4+5+6)/4
输出:组数|1 2
数值|1 4.5
Private Sub Command1_Click()
Dim k()
Dim k2()
Label1.Caption = "": Label2.Caption = ""
k = Array(4, 7, 5, 6, 9)
'排序
BubbleSort2 k

For i = 0 To UBound(k)
'Debug.Print k(i) '测试排序结果
Next
'分组
ReDim k2(0)
k2(0) = 0
For i = 0 To UBound(k) - 1
If k(i + 1) - k(i) > 1 Then
ReDim Preserve k2(UBound(k2) + 1)
k2(UBound(k2)) = i + 1
End If
Next
ReDim Preserve k2(UBound(k2) + 1)
k2(UBound(k2)) = UBound(k) + 1
'求每组结果
For i = 0 To UBound(k2) - 1
tmp = 0: tmp1 = 0
For n = k2(i) To k2(i + 1) - 1
tmp = tmp + k(n)
tmp1 = tmp1 + 1
Next
tmp = tmp / tmp1
Label1.Caption = Label1.Caption & (i + 1) & " "
Label2.Caption = Label2.Caption & tmp & " "
Next
End Sub
'冒泡排序法
Private Function BubbleSort2(ArrayToSort()) As Boolean
Dim SortLoop As Long
Dim HoldValue
Dim ChangeMade As Boolean
Dim endLoop As Long

ChangeMade = True
Do While ChangeMade
ChangeMade = False
For SortLoop = LBound(ArrayToSort) To UBound(ArrayToSort) - 1
If ArrayToSort(SortLoop) > ArrayToSort(SortLoop + 1) Then
HoldValue = ArrayToSort(SortLoop)
ArrayToSort(SortLoop) = ArrayToSort(SortLoop + 1)
ArrayToSort(SortLoop + 1) = HoldValue
ChangeMade = True
End If
Next SortLoop
Loop
BubbleSort1 = True
End Function
再问: 谢谢,运行完美!!!!!只是组数和数据不对称,我自己改吧,太谢谢了!!!!另外也十分感谢橡皮树的博客,非常感激!!!感激涕零,回去研究研究!!!你们的代码对我来说都很有价值! 本来追问橡皮树的,可惜追问一直审核。。。。(带图),2位高手,感激感激X+oo
vb循环和条件判断现在有一个数组(5个元素),如果这五个数值有相差小于1的,合并为一组并求平均数,如果相差没有小于1的, 请问:labview中如何求数组中的数值的平均数呢?(数组中的元素个数小于等于12个,不定) 统计学求平均数的题目现在有75个数字,每五个数字分一组,分成15组,要使这15组的和基本相等或者相差很小!33.48,3 一个数组包100个自然数,其中数值为3的有5个,分布在其中,现在要确立这五个3在数组中的位置如何查找? vb:输入10个整数求平均值,并求出大于、等于、小于平均值的数的个数(使用选择结构、循环结构、数组). 输入10个实数存在数组d中,将小于平均数的元素累加,并输出 数组有1000个元素,设为数组a[1000],存放1-1000的数值,但是现在有一个数值重复了,指扫描一遍,找出那个重复 用VB编写程序,输入一个正整数n,求所有大于1且小于n,同时与n互质的数,存入一个数组并每行5个的格式输出 条件格式公式?当A列的其中有个数值小于等于0时,同一行B列就显示一个圆圈.公式要怎么写?这个已经自己做好了。现在有表1和 定义一个有4个元素的数组,并将0、1、2、3、4赋值给数组,扩充数组为6个元素 EXCEL 有一列数值,现在如果这列数值小于1,返回数值10,如果大于等于1.返回10+(这列数值-1)*8,函数怎么写 输入100个整数存入数组a,求出这100个整数的平均数.计算并输出小于等于平均值的元素个数