随机产生10个不同的两位整数存到一维数组,求最大值,还有它的位置
我写了个能求最大值,但不知道怎么求它的原来位置
请补充一下。
Private Sub Command1_Click()
Dim a(1 To 10) As Integer, work As Boolean, i As Integer, j As Integer, x As Integer
Randomize
For i = 1 To 10
a(i) = Int((90 * Rnd) + 10)
Print a(i)
Next i
Print
For i = 10 To 2 Step -1
work = True
For j = 1 To i - 1
If a(j) > a(j + 1) Then
x = a(j)
a(j) = a(j + 1)
a(j + 1) = x
work = False
End If
Next j
If work Then Exit For
Next i
Text1.Text = a(10)
End Sub
定义一个q1,初始值为a(0),每次判断a(j) > a(j + 1) 成立时,q1=j
此时q1就为所求位置,但是初始位置是0,所以要准确时q1=q1+1
如下所示:
Private Sub Command1_Click()
Cls
Dim a(1 To 10) As Integer, b(1 To 10) As Integer, work As Boolean, i As Integer, j As Integer,
x As Integer
Randomize
For i = 1 To 10
a(i) = Int((90 * Rnd) + 10)
Print a(i)
b(i) = a(i)
Next i
For i = 10 To 2 Step -1
work = True
For j = 1 To i - 1
If a(j) > a(j + 1) Then
x = a(j)
a(j) = a(j + 1)
a(j + 1) = x
work = False
End If
Next j
If work Then Exit For
Next i
Text1.Text = a(10)
For k = 1 To UBound(a)
If b(k) = a(10) Then
MsgBox "原来位置:" & k, 64, "提示!"
Exit For
End If
Next k
扩展资料:
有两种方法定义数组:
1、知道数组的元素个数,那么直接定义。
dim a(9) as integer
2、暂时不知道元素个数,或者该数组应用在多个地方,那么如下定义。
dim a() as integer
在使用的时候,再重定义一下就可以了。
ReDim a(9)
数组的类型可以和变量的类型一样的。
dim a(0 to 9) as string '表示定义了一个包含10个元素的字符串型的数组,数组名为:a
参考资料来源:百度百科-Visual Basic
VB编程,输出一个二维数组中每一列的最大值,并指出所在行
其中,一维数组b存放的就是每行的最大值,而其对应的下标就是其所在行。
用VB求最大值最小值和平均值。怎么办?
欲使用VB求一组数的最大值、最小值和平均值,首先定义数组arr,初始化变量n_min、n_max、n_sum、n_av。数组arr中填充待处理的数据,如"1,2,3,4,5,6,7,8,9,10,11,12"。将数组元素以逗号分隔,使用split函数处理。接着,初始化最小值n_min、最大值n_max和总和n_sum。将数组的第一个...
在VB编程中,求最大值和最小值?
VB求最大值最小值可以用冒泡法即可。X[a,b,c,d,e](数组赋值)|| || <FOR i =0 ,i<5,i++> <IF X[i] > TEMP>OR<IF X[i] < TEMP> <TEMP = X[i]> <END IF> <END FOR> || MAX = TEMP MIN = TEMP ||
用VB语言随机输入10个数,输出最大值和最小值,和其位置
temp = "这十个数是:" & temp & "最大数" & max & "的位置在" & maxi & " " & "最小数" & min & "的位置在" & minj MsgBox temp End Sub
VB数组找最大最小值问题。
很简单 for i=0 to 5 a(i)=inputbox("输入任意数",找最值)next i max=a(0)max_j=0 for j=1 to 5 if(a(j)>max) then max=a(j)max_j=j endif next j print max max_j 这个就是的 上面的>改成 <就是找最小值了
vb编程求矩阵A中每一列的最大值以及最大值所在的行
1、首先绘制好四个文本框和一个命令按钮。2、然后我们定义一个输入从文本框输入数据。3、接下来可以从这个数组数据装入到另一个数组。4、这时,假设有一个函数可以调用。5、接下来开始编写代码,为了通用性,可求出上下界。6、然后我们再遍历查询最大值。
如何用VB在一系列数中选出一个最大的数
求数组中的最大值 a(i)=array(1,2,3,4,5,6,7,8,9,0)for i=1 to 9 for j=i+1 to 10 '将j的值加1 if a(i)>a(j) then '如果a(i)比a(j)的值大,则进行下面代码 t=a(i):a(i)=a(j):a(j)=t '将a(i)的值赋给t,将a(j)赋给a(i),最后将t的值赋给a(j)...
在vb数组中求出指定数目的最大值及其下标
代码如下:'arr()为你给定的目标数组,n为你指定的前n个最大值,调用例子:' Dim arr() As Variant ' arr = Array(1, 4, 5, 6, 2, 6, 8, 4, 6, 7)' PrintPreN arr, 10 Private Sub PrintPreN(arr() As Variant, n As Long)Dim Brr() As Variant '排序后的数组 ...
...找出最大和最小的数,并给出最大和最小的书在数组中位置
ReDim SerAim(i)If Vimt(i) > Vimt(j) Then '这个语句是以小到大排序,数组的第一个就是最小数 If Vimt(i) < Vimt(j) Then '这个语句是以大到小排序,数组的第一个就是最大数 '注意上面的二个语句只能用一个!!Num = Vimt(i)Vimt(i) = Vimt(j)Vimt(j) = Num E...
VB数组编程 输入n个数,求其中的最大值
Dim d() As Integer Dim i As Integer Dim MyMax As Integer Dim n As Integer n = Val(InputBox("输入n!"))ReDim d(n) As Integer For i = 1 To n d(i) = Val(InputBox("输入第" & i & "个数!"))Next i MyMax = d(1)For i = 2 To n If d(i) > MyMax Then...