Другие языки программирования и технологии

Создание функции в VBA

В табличном процессоре Microsoft Excel средствами VBA создать функцию которая находит матрицу – произведение двух матриц Ci j = Ai j * Bi j;
Kas Kas
Kas Kas
106
Матрица А занимает ячейки Cells(1, 1) : Cells(n, m), матрица B ячейки Cells(1, m+2) : Cells(m, m+p+1).
То есть матрица А имеет n строк и m столбцов, а матрица В имеет m строк и p столбцов.
То, что кол-во столбцов матрицы А равно кол-ву строк матрицы В - обязательное условие для существования произведения этих матриц.
Матрица С будет иметь n строк и p столбцов и занимать ячейки Cells(1, m+p+3) : Cells(n, m+2p+2).

Sub MulMatrix
Dim A() As Integer, B() As Integer, C() As Integer
Dim m As Integer, n As Integer, p As Integer, i As Integer, j As Integer, k As Integer
n = InputBox ("Введите кол-во строк матрицы А")
m = InputBox ("Введите кол-во строк матрицы B, равное кол-ву столбцов матрицы А")
p = InputBox ("Введите кол-во столбцов матрицы B")
ReDim A(n, m), B(m, p), C(n, p)
For i = 1 To n
For k = 1 To p
C(i, k) = 0
For j = 1 To m
A(i, j) = Cells(i, j): B(j, k) = Cells(j, m+1+k)
C(i, k) = C(i, k) + A(i, j) * B(j, k)
Cells(i, m+p+2+k) = C(i, k)
Next j
Next k
Next i
End Sub
Кажется, ничего не напутал с номерами столбцов.
СП
Сергей Подоплелов
84 008
Лучший ответ
А что именно Вас смущает?
VBA или произведение матриц? )