Отсортировать квадраты элементов 6-го столбца матрицы по возрастанию - VB
Формулировка задачи:
Собственно, подскажите пожалуйста. В задании нужно отсортировать квадраты элементов 6-го столбца по возрастанию, матрица размерностью 7*7, приводить весь код не буду, задание довольно объемное, сам не могу справиться с последним пунктом
Собственно, как сделать, в примерах сортировки массивов есть два цикла, у меня же цикл то вроде один, только по строкам, а столбец 6-ой... Заранее спасибо за подсказку...
Решение задачи: «Отсортировать квадраты элементов 6-го столбца матрицы по возрастанию»
textual
Листинг программы
Option Explicit
Dim I As Integer, J As Integer
Dim a(7, 7) As Double
Dim my(7) As Double
Dim m As Double, k
Dim tm
Private Sub cmd1_Click()
Me.AutoRedraw = True
Me.Cls: Print "искомая матрица ": Print
m = -1
k = Val(InputBox("Введите значение k", "Ввод данных", 5))
For I = 1 To 7
For J = 1 To 7
a(I, J) = ((-1) ^ (I + J)) * ((22 * Cos(I)) + (33 * Sin(J)) + (44 * Cos(k)))
If I = 4 Then
If Cos(a(I, J)) >= 0 Then
If m = -1 Then
m = Cos(a(I, J))
Else
If m > Cos(a(I, J)) Then m = Cos(a(I, J))
End If
End If
End If
If J = 6 Then
my(I) = a(I, J) ^ 2
End If
a(I, J) = Round(a(I, J), 0)
Print a(I, J),
Next
Print
Next
Print
If m = -1 Then
Print "положительных cos a(4,j) нет"
Else
Print "наименьшее положительное cos a(4,j) --- " & Round(m, 5)
End If
Print: Print "отсортированные a(i,6) (по возрастанию)": Print
For I = 1 To 7
For J = I + 1 To 7
If my(I) > my(J) Then
tm = my(I): my(I) = my(J): my(J) = tm
End If
Next J
Print Round(my(I), 0); " "; ' или Print my(I); " ";
Next I
End Sub