VB运算 大小排序

VB运算 大小排序,第1张

Private Sub Command1_Click()

Dim strArray() As String, intArray() As Integer, strArray1() As String, strConversionArray() As String

Dim x(6), y(6), z(6), intOneDimensionalArray() As Integer

Text1.Text = Trim(Text1.Text)

strArray = Split(Text1.Text, " ")

ReDim strArray1(UBound(strArray) - LBound(strArray), 3), strConversionArray(UBound(strArray) - LBound(strArray), 6)

For i = LBound(strArray) To UBound(strArray)

  For j = 1 To 3

    strArray1(i, j) = Mid(strArray(i), j, 1)

  Next j

Next i

ReDim strConversionArray(UBound(strArray) - LBound(strArray), 6)

For i = 1 To 6

  x(i) = (i + 1) \ 2

Next i

y(1) = 2: y(2) = 3: y(3) = 1: y(4) = 3: y(5) = 1: y(6) = 2

z(1) = 3: z(2) = 2: z(3) = 3: z(4) = 1: z(5) = 2: z(6) = 1

For i = LBound(strArray) To UBound(strArray)

  For j = 1 To 6

      strConversionArray(i, j) = strArray1(i, x(j)) + strArray1(i, y(j)) + strArray1(i, z(j))

  Next j

Next i

ReDim intArray(UBound(strArray) - LBound(strArray), 6)

For i = LBound(strArray) To UBound(strArray)

  For j = 1 To 6

    intArray(i, j) = Val(strConversionArray(i, j))

  Next j

Next i

ReDim intOneDimensionalArray(((UBound(strArray) - LBound(strArray)) + 1) * 6)

For i = LBound(strArray) To UBound(strArray)

  For j = 1 To 6

    intOneDimensionalArray(r) = intArray(i, j)

    r = r + 1

  Next j

Next i

For i = LBound(intOneDimensionalArray) To UBound(intOneDimensionalArray) - 1

  For j = i + 1 To UBound(intOneDimensionalArray)

    If intOneDimensionalArray(j) <intOneDimensionalArray(i) Then

      t = intOneDimensionalArray(i)

      intOneDimensionalArray(i) = intOneDimensionalArray(j)

      intOneDimensionalArray(j) = t

    End If

  Next j

Next i

For i = LBound(intOneDimensionalArray) + 1 To UBound(intOneDimensionalArray)

  Text2.Text = Text2.Text + CStr(intOneDimensionalArray(i)) + Space(1)

Next i

End Sub

Private Type mynum

n1 As Long

s1 As String

End Type

Private Sub Command1_Click()

Dim t As String, s As String, b() As String, c() As String, n As Long, j As Long, k As Long, nn() As mynum, ch As mynum

t = "8,3,2," &vbCrLf &"7,2,1," &vbCrLf &"6,2,0," &vbCrLf &"10,5,3," &vbCrLf &"6,5,1,"

Me.Cls

Me.Print "原数据:" &vbCrLft

b() = Split(t, vbCrLf)

n = UBound(b())

ReDim nn(n)

For j = 0 To n

s = b(j)

nn(j).s1 = s

nn(j).n1 = Replace(s, ",", "")

Next

For j = 0 To n

For k = j + 1 To n

If nn(j).n1 >nn(k).n1 Then

ch = nn(j)

nn(j) = nn(k)

nn(k) = ch

End If

Next

Next

Me.Print "排序后数据:"

For j = 0 To n

Print nn(j).s1

Next

End Sub


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

原文地址:https://54852.com/tougao/8126479.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存