В произвольном массиве К(m*n) «методом пузырька» отсортировать по столбцам все элементы в порядке убывания — QBasic(Бейсик)

Вывести массив К до и после сортировки. Под каждым столбцом вывести максимальный элемент матрицы

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Sub test()
Dim K(1 To 5, 1 To 6)
  
For i = 1 To 5
  For j = 1 To 6
    K(i, j) = Int(Rnd * 50)
  Next j
Next i
  
Dim outputStr As String
outputStr = "Arr1="
For i = 1 To UBound(K, 1)
  For j = 1 To UBound(K, 2)
    outputStr = outputStr & vbTab & K(i, j)
  Next j
  outputStr = outputStr & vbCrLf
Next i
  
  
Dim CountOfSubst
CountOfSubst = 0
  
For i = 1 To UBound(K, 2)
  CountOfSubst = CountOfSubst + sort(K, i)
Next i
  
Dim maximums()
ReDim maximums(1 To UBound(K, 2))
outputStr = outputStr & "Max:"
For i = 1 To UBound(K, 2)
  maximums(i) = K(1, i)
  For j = 1 To UBound(K, 1)
    If maximums(i) < K(j, i) Then maximums(i) = K(j, i)
  Next j
  outputStr = outputStr & vbTab & maximums(i)
Next
  
outputStr = outputStr & vbCrLf & vbCrLf & "Arr2="
For i = 1 To UBound(K, 1)
  For j = 1 To UBound(K, 2)
    outputStr = outputStr & vbTab & K(i, j)
  Next j
  outputStr = outputStr & vbCrLf
Next i
  
  
MsgBox outputStr
End Sub
  
  
Function sort(ByRef Arr, C) As Integer
'return - number of substitution
'Arr - array
'C - column for sort
sort = 0
cols = UBound(Arr, 1) 'column's
  
If cols >= C Then
  For i = 1 To cols + 1
    For j = cols To i + 1 Step -1
      If Arr(j - 1, C) < Arr(j, C) Then
        tmp = Arr(j - 1, C)
        Arr(j - 1, C) = Arr(j, C)
        Arr(j, C) = tmp
        sort = sort + 1
      End If
    Next j
  Next i
End If
End Function