vb 数组多重排序求助!
来源:百度知道 编辑:UC知道 时间:2024/09/28 09:23:08
按行读取 c:\1.txt
txt 内容如下↓
253
655
864
856
412
214
323
332
.................. 这里行数不定
要实现目的:
先将每行的数字进行从小到大排序,再将所有行的3位数字比较,
取出从多到少重复出现的前18位 3位号码.
我的思路:
1.取得txt的所有行数
2.再取出每行的3位数字分别存入数组a(1)a(2)a(3) 后从小到大排序
3.再将每行排序好的数连起来存入数组b(1 to h) h为行数
4.最后再将数组b进行比较,取出从多到少重复出现的前18位 3位号码.
5.再显示在 label1(1 to 18) 里
'''''''''''我不懒 我至少写代码了,只不过无法继续''''''''
For i = 1 To Len(l1) 'l1为 txt内容
If Mid(l1, i, 1) = Chr(10) Then
h = h + 1 '取得总行数
End If
Next i
t = Split(l1, vbCrLf)
Dim pxhf()
For i = 1 To h
jlz = t(i - 1)
jlz2 = Mid(jlz, 1) '取得每个行的3位数值
pxhf(i) = jlz2 '每3个数 存入1个数组
Next i
For i = 1 To h
pxh(1) = Mid(pxhf(i), 1, 1) '分别取出每行的 3位数字
刚好回答了一个类似的,这个也写写吧
新建工程,添加一个TextBox控件(MultiLine属性设为True、ScrollBars属性设为2)、一个CommandButton控件,名称均默认,添加以下代码
Option Explicit
Private Sub Command1_Click()
Dim TestR() As String, TestN() As Integer, i As Integer, j As Integer, n As Integer
Dim tmpA() As Integer, ii As Integer, jj As Integer, nn As Integer, tmp As Integer, tmpStr As String
n = -1
Open "txtfile.txt" For Input As #1'打开文件
While Not EOF(1)'循环读取文件中所有的数据
Line Input #1, tmpStr'取一行数据放入tmpStr
nn = Len(tmpStr) - 1
ReDim tmpA(nn) As Integer
'把取出的数据放入一个数组
For ii = 0 To nn
tmpA(ii) = Mid(tmpStr, ii + 1, 1)
Next
'对数组进行冒泡排序
For ii = nn To 1 Step -1
For jj = 0 To ii - 1
If tmpA(jj) > tmpA(jj + 1) Then