Из данной матрицы построить новую матрицу, по среднему арифметическому соседей - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д