Записать матрицу в виде массивов - VB

Узнай цену своей работы

Формулировка задачи:

Записать матрицу А в компактном виде, т. е. в виде трех массивов: в первый записать по порядку все ненулевые элементы матрицы А; во второй – номера строк соответствующих ненулевых элементов; в третий – номера столб- цов соответствующих ненулевых элементов: 1 -1 0 4 10 А= 2 0,5 3 7 0 0 41 -9 0 0 13 2,7 0 5 8 Вот начало:
Листинг программы
  1. Dim A(4, 5) As Integer
  2. Dim S As String
  3. Dim i, j
  4. Dim B(13)
  5. A(1, 1) = 1: A(1, 2) = -1: A(1, 3) = 0: A(1, 4) = 4: A(1, 5) = 10
  6. A(2, 1) = 2: A(2, 2) = 0.5: A(2, 3) = 3: A(2, 4) = 7: A(2, 5) = 0
  7. A(3, 1) = 0: A(3, 2) = 41: A(3, 3) = -9: A(3, 4) = 0: A(3, 5) = 0
  8. A(4, 1) = 13: A(4, 2) = 2.7: A(4, 3) = 0: A(4, 4) = 5: A(4, 5) = 8
  9. List4.AddItem ("A")
  10. S = ""
  11. For i = 1 To 4
  12. For j = 1 To 5
  13. S = S + " " + Str(A(i, j))
  14. Next j
  15. List4.AddItem (S)
  16. S = ""
  17. Next i
  18. For i = 1 To 4
  19. For j = 1 To 5
  20. If A(i, j) = 0 Then A(i, j) = ?
  21. If A(i, j) <> 0 Then B(13) = A(i, j)
  22. Next j
  23. Next i
а как дальше? помогите, пожалуйста

Решение задачи: «Записать матрицу в виде массивов»

textual
Листинг программы
  1. Private Sub form_load()
  2. Dim A(1 To 4, 1 To 5) As Double 'Integer
  3. Dim S As String
  4. Dim i As Long, j As Long, k As Long
  5. ReDim B(1 To 20) As Double, C(1 To 20) As Long, D(1 To 20) As Long
  6. A(1, 1) = 1: A(1, 2) = -1: A(1, 3) = 0: A(1, 4) = 4: A(1, 5) = 10
  7. A(2, 1) = 2: A(2, 2) = 0.5: A(2, 3) = 3: A(2, 4) = 7: A(2, 5) = 0
  8. A(3, 1) = 0: A(3, 2) = 41: A(3, 3) = -9: A(3, 4) = 0: A(3, 5) = 0
  9. A(4, 1) = 13: A(4, 2) = 2.7: A(4, 3) = 0: A(4, 4) = 5: A(4, 5) = 8
  10. List4.AddItem ("A")
  11. For i = 1 To 4
  12.   S = ""
  13.   For j = 1 To 5
  14.     S = S + " " + Str(A(i, j))
  15.     If A(i, j) <> 0 Then
  16.       k = k + 1
  17.       B(k) = A(i, j): C(k) = i: D(k) = j
  18.     End If
  19.   Next j
  20.   List4.AddItem (S)
  21. Next i
  22. List4.AddItem ("B - ненулевые элементы")
  23. S = ""
  24. For i = 1 To k: S = S & " " & B(i): Next
  25. List4.AddItem S
  26. List4.AddItem ("C - строки ненулевых элементов")
  27. S = ""
  28. For i = 1 To k: S = S & " " & C(i): Next
  29. List4.AddItem S
  30. List4.AddItem ("D - столбцы ненулевых элементов")
  31. S = ""
  32. For i = 1 To k: S = S & " " & D(i): Next
  33. List4.AddItem S
  34. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы