Записать матрицу в виде массивов - VB
Формулировка задачи:
Записать матрицу А в компактном виде, т. е. в виде трех массивов: в
первый записать по порядку все ненулевые элементы матрицы А; во второй –
номера строк соответствующих ненулевых элементов; в третий – номера столб-
цов соответствующих ненулевых элементов:
1 -1 0 4 10
А= 2 0,5 3 7 0
0 41 -9 0 0
13 2,7 0 5 8
Вот начало:
а как дальше? помогите, пожалуйста
Решение задачи: «Записать матрицу в виде массивов»
textual
Листинг программы
Private Sub form_load()
Dim A(1 To 4, 1 To 5) As Double 'Integer
Dim S As String
Dim i As Long, j As Long, k As Long
ReDim B(1 To 20) As Double, C(1 To 20) As Long, D(1 To 20) As Long
A(1, 1) = 1: A(1, 2) = -1: A(1, 3) = 0: A(1, 4) = 4: A(1, 5) = 10
A(2, 1) = 2: A(2, 2) = 0.5: A(2, 3) = 3: A(2, 4) = 7: A(2, 5) = 0
A(3, 1) = 0: A(3, 2) = 41: A(3, 3) = -9: A(3, 4) = 0: A(3, 5) = 0
A(4, 1) = 13: A(4, 2) = 2.7: A(4, 3) = 0: A(4, 4) = 5: A(4, 5) = 8
List4.AddItem ("A")
For i = 1 To 4
S = ""
For j = 1 To 5
S = S + " " + Str(A(i, j))
If A(i, j) <> 0 Then
k = k + 1
B(k) = A(i, j): C(k) = i: D(k) = j
End If
Next j
List4.AddItem (S)
Next i
List4.AddItem ("B - ненулевые элементы")
S = ""
For i = 1 To k: S = S & " " & B(i): Next
List4.AddItem S
List4.AddItem ("C - строки ненулевых элементов")
S = ""
For i = 1 To k: S = S & " " & C(i): Next
List4.AddItem S
List4.AddItem ("D - столбцы ненулевых элементов")
S = ""
For i = 1 To k: S = S & " " & D(i): Next
List4.AddItem S
End Sub