Записать матрицу в виде массивов - 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

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

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