Из данной матрицы построить новую матрицу, по среднему арифметическому соседей - VBA

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

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

Друзья нужна ваша помощь, в общем задача такая. У каждого элемента есть соседи у некоторых слева, справа, снизу, сверху у некоторых только справа и снизу, в общем нужно обновить каждый элемент матрицы по среднему арифметическому его соседей. написал вот так вот, почему то работает не правильно!

Решение задачи: «Из данной матрицы построить новую матрицу, по среднему арифметическому соседей»

textual
Листинг программы
Sub Matrix()
Dim i As Long, j As Long
Dim arf As Double, k As Long, n As Long, b As Long
  n = InputBox("Введите количество строк: ", , 4)
  b = InputBox("Введите количество столбцов: ", , 3)
  ReDim M(1 To n, 1 To b) As Double, X(1 To n, 1 To b) As Double
  For i = 1 To n
    For j = 1 To b
      M(i, j) = InputBox("x(" & i & ", " & j & ")", , Round(Rnd * 10, 1))
    Next
  Next
  On Error Resume Next
  For i = 1 To n
    For j = 1 To b
      arf = arf + M(i - 1, j)
      If Err Then Err.Clear Else k = k + 1
      arf = arf + M(i, j - 1)
      If Err Then Err.Clear Else k = k + 1
      arf = arf + M(i + 1, j)
      If Err Then Err.Clear Else k = k + 1
      arf = arf + M(i, j + 1)
      If Err Then Err.Clear Else k = k + 1
      X(i, j) = arf / k
      k = 0
      arf = 0
    Next
  Next
  'вывод на лист Excel
  Cells(1, 1).Resize(n, b).Value = M
  Cells(n + 2, 1).Resize(n, b).Value = X
  'For i = 1 To n
  '    For j = 1 To b
  '        MsgBox (M(i, j))
  '    Next
  'Next
End Sub

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


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

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

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