vb二维数组排序(见补充)

vb 二维数组怎么排序?随机生成10 *10的两位整数 然后从小到大这样排 (每行10个)

Dim a(100) As Integer
Dim temp As Integer
Private Sub Command1_Click()
    Print "排序前"
    Randomize
    For i = 1 To 100
        a(i) = Int(Rnd * 901 + 100)
        Print a(i);
        If i Mod 10 = 0 Then Print
    Next i
    Print "排序后"
    For i = 1 To 100
            For j = 1 To 100 - i
                If a(j) > a(j + 1) Then
                    temp = a(j + 1)
                    a(j + 1) = a(j)
                    a(j) = temp
                End If
            Next j
        Next i
    For i = 1 To 100
        a(i) = Int(Rnd * 901 + 100)
        Print a(i);
        If i Mod 10 = 0 Then Print
    Next i
End Sub

追问

哥们你这不太对啊

追答

咋啦?哪里有问题呀?

追问

我的意思是10*10 随机生成整数 然后排序 这些整数要求从小到大排,每行10个,比如说有:

就要变成这样的:

就是这样排序的

追答

10*10是什么意思呢?100以内的两位随机数?

追问

10行 10 列,抱歉我表达有问题... 然后每个数都要求是两位数

追答

了解了。。。

Dim a(100) As Integer
Dim temp As Integer
Private Sub Command1_Click()
    Print "排序前"
    Randomize
    For i = 1 To 100
        a(i) = Int(Rnd * 90 + 10)
        Print a(i);
        If i Mod 10 = 0 Then Print
    Next i
    Print "排序后"
    For i = 1 To 100
            For j = 1 To 100 - i
                If a(j) > a(j + 1) Then
                    temp = a(j + 1)
                    a(j + 1) = a(j)
                    a(j) = temp
                End If
            Next j
        Next i
    For i = 1 To 100
        Print a(i);
        If i Mod 10 = 0 Then Print
    Next i
End Sub

是不是这样的呢?

追问

要用二维数组,拜托了!大大!

追答Dim a(10, 10) As Integer
Private Sub command1_Click()
Cls
Print "排序前"
Randomize
 For i = 0 To 9
  For j = 0 To 9
  a(i, j) = Int((90) * Rnd + 10)
 Print a(i, j) & " ";
 Next
 Print
 Next
End Sub

 Private Sub Command2_Click()
    Print
    Print "排序后"
For i = 0 To (10 * 10 - 1)
For j = i + 1 To (10 * 10 - 1)
    If a(i \ 10, i Mod 10) > a(j \ 10, j Mod 10) Then
    t = a(i \ 10, i Mod 10)
    a(i \ 10, i Mod 10) = a(j \ 10, j Mod 10)
    a(j \ 10, j Mod 10) = t
    End If
Next j
Next i
For i = 0 To 9
For j = 0 To 9
Print a(i, j);
Next j
Print
Next i
End Sub

那就是这样的咯?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-07
行内遍历的外层加一层行间的遍历就好啦。
相似回答