Excel VBA как сортировать двумерный массив полностью?
Формулировка задачи:
Есть массив NxM, видел сортировку по столбцу и т.д., интересен вариант сортировки полностью к примеру матрица
55 78 22
33 22 43
13 54 32
а на выходе
13 22 22
32 33 43
54 55 78
Решение задачи: «Excel VBA как сортировать двумерный массив полностью?»
textual
Листинг программы
Sub Massiv()
Dim A() As Integer, i As Integer, j As Integer, N As Integer, M As Integer, t As Integer ', u As Integer, k As Integer
N = InputBox("Кол-во строк", , 3)
M = InputBox("Кол-во столбцов", , 3)
ReDim A(N - 1, M - 1) As Integer
Randomize
Cells(1, 1) = "Исходный массив"
For i = 1 To N
For j = 1 To M
A(i - 1, j - 1) = 100 * Rnd - 50
Next j
Next i
Range(Cells(2, 1), Cells(1 + N, M)) = A
Cells(N + 3, 1) = "Отсортированный массив"
For i = 0 To M * N - 2
For j = i + 1 To M * N - 1
If A(i \ M, i Mod M) > A(j \ M, j Mod M) Then
t = A(i \ M, i Mod M): A(i \ M, i Mod M) = A(j \ M, j Mod M): A(j \ M, j Mod M) = t
End If
Next j
Next i
Range(Cells(N + 4, 1), Cells(3 + N + N, M)) = A
End Sub