
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)