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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы