
Вопрос задан 20.06.2019 в 13:34.
Предмет Информатика.
Спрашивает Тимеркаева Ангелина.
Пожалуйста,нужна ваша помощь. VBA excel Определить столбец матрицы В, сумма модулей элементов
которого максимальна, если B=3A^2-A-7E , где E - единичная матрица, A - матрица размерности 5x5 , элементы которой определяется по формуле Aij= i - j,если i=j i - 2*j если i неравно j Вывести на печать указанный столбец и его номер. оформление на подобие этого! Sub pr() Dim A(1 To 5, 1 To 5) As Single Dim B(1 To 5, 1 To 5) As Single Dim C(1 To 5, 1 To 5) As Single Dim d(1 To 5) As Single Dim i As Integer, j As Integer, k As Integer For i = 1 To 5 Step 1 For j = 1 To 5 Step 1 If i = j Then A(i, j) = 5 - i - j Else A(i, j) = i - j Next

Ответы на вопрос

Отвечает Токайчук Кира.
Option Explicit
Sub aaa()
Const n = 5
Dim A(1 To n, 1 To n) As Long, E(1 To n, 1 To n) As Long
Dim i As Integer, j As Integer, k As Integer
' инициализация матриц
For i = 1 To n
For j = 1 To n
If i = j Then
A(i, j) = 0 ' глупо тут вычислять i-j
E(i, j) = 1
Else
A(i, j) = i - 2 * j
E(i, j) = 0
End If
Next j
Next i
' A^2 - просто умножение матрицы самой на себя
Dim B(1 To n, 1 To n) As Long
For i = 1 To n
For j = 1 To n
B(i, j) = 0
For k = 1 To n
B(i, j) = B(i, j) + A(i, k) * A(k, j)
Next k
Next j
Next i
' 3A^2 - A + 7E
For i = 1 To n
For j = 1 To n
B(i, j) = 3 * B(i, j) - A(i, j) + 7 * E(i, j)
Next j
Next i
' Поиск столбца B с максимальной суммой модулей элементов
Dim S As Long, Max As Long, jj As Long
Max = -1000000
For j = 1 To n
S = 0
For i = 1 To n
S = S + Abs(B(i, j))
Next i
If S > Max Then
Max = S
jj = j
End If
Next j
' Вывод на лист Excel
Range(Cells(1, 1), Cells(n + 1, 2)).Clear
Cells(1, 1) = "Столбец " + CStr(jj)
For i = 1 To n
Cells(i + 1, 1) = B(i, jj)
Next i
End Sub
Sub aaa()
Const n = 5
Dim A(1 To n, 1 To n) As Long, E(1 To n, 1 To n) As Long
Dim i As Integer, j As Integer, k As Integer
' инициализация матриц
For i = 1 To n
For j = 1 To n
If i = j Then
A(i, j) = 0 ' глупо тут вычислять i-j
E(i, j) = 1
Else
A(i, j) = i - 2 * j
E(i, j) = 0
End If
Next j
Next i
' A^2 - просто умножение матрицы самой на себя
Dim B(1 To n, 1 To n) As Long
For i = 1 To n
For j = 1 To n
B(i, j) = 0
For k = 1 To n
B(i, j) = B(i, j) + A(i, k) * A(k, j)
Next k
Next j
Next i
' 3A^2 - A + 7E
For i = 1 To n
For j = 1 To n
B(i, j) = 3 * B(i, j) - A(i, j) + 7 * E(i, j)
Next j
Next i
' Поиск столбца B с максимальной суммой модулей элементов
Dim S As Long, Max As Long, jj As Long
Max = -1000000
For j = 1 To n
S = 0
For i = 1 To n
S = S + Abs(B(i, j))
Next i
If S > Max Then
Max = S
jj = j
End If
Next j
' Вывод на лист Excel
Range(Cells(1, 1), Cells(n + 1, 2)).Clear
Cells(1, 1) = "Столбец " + CStr(jj)
For i = 1 To n
Cells(i + 1, 1) = B(i, jj)
Next i
End Sub


Топ вопросов за вчера в категории Информатика

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

Информатика 21
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili