Сортировка элементов столбцов двумерного массива - VB
Формулировка задачи:
А. Составить процедуру сортировки по убыванию значений элементов массива А(М) (М - заданное число).
В. Используя процедуру рассортировать по убыванию значения элементов каждого столбца массива Z(7,9).
вот моя попытка решения)
Листинг программы
- Private Sub Command2_Click()
- Dim F() As Integer
- Dim v() As Integer
- Dim l As Byte, k As Byte, m As Byte
- l = CByte(9)
- k = CByte(7)
- m = l
- ReDim v(m) As Integer
- ReDim F(l, k) As Integer
- Dim i As Byte
- Dim j As Byte
- Form1.Picture1.Cls
- For j = 1 To k
- For i = 1 To l
- F(i, j) = CInt(Rnd * 100 + 5)
- v(i) = F(i, j)
- Call sort(v)
- Form1.Picture1.Print " "; Format(F(i, j), "00.0"); Tab(10 * i);
- Next i
- Form1.Picture1.Print
- Next j
- End Sub
- Public Sub sort(v)
- Rem
- For i = 1 To m - 1
- For j = i + 1 To m
- If v(j) > v(i) Then mx = v(i): v(i) = v(j): v(j) = mx
- Next j
- Next i
- End Sub
Решение задачи: «Сортировка элементов столбцов двумерного массива»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim A() As Single, m As Byte, a1, a2
- Dim z(1 To 7, 1 To 9) As Single, tempArr(1 To 9) As Single
- '''''Действия с массивом A
- m = InputBox("m")
- a1 = ""
- ReDim A(1 To m)
- For i = 1 To m
- A(i) = Int(100 * Rnd)
- a1 = a1 & A(i) & " "
- Next i
- Call resort(A(), m)
- a2 = ""
- For i = 1 To m
- a2 = a2 & A(i) & " "
- Next i
- MsgBox "До: " & a1 & Chr(13) & "После : " & a2
- '''''''''''''Действия с матрицей Z
- a1 = ""
- a2 = ""
- For i = 1 To 7
- For j = 1 To 9
- z(i, j) = Int(100 * Rnd)
- tempArr(j) = z(i, j)
- a1 = a1 & z(i, j) & " "
- Next j
- a1 = a1 & Chr(13)
- Call resort(tempArr(), 9)
- For l = 1 To 9
- z(i, l) = tempArr(l)
- Next l
- Next i
- For i = 1 To 7
- For j = 1 To 9
- a2 = a2 & z(i, j) & " "
- Next j
- a2 = a2 & Chr(13)
- Next i
- MsgBox "До : " & Chr(13) & a1 & Chr(13) & "После : " & Chr(13) & a2
- End Sub
- Public Sub resort(arr() As Single, n)
- For i = 1 To n
- For j = 1 To n - i
- If arr(j) > arr(j + 1) Then
- temp = arr(j)
- arr(j) = arr(j + 1)
- arr(j + 1) = temp
- End If
- Next j
- Next i
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д