Вопрос задан 29.07.2023 в 13:23. Предмет Информатика. Спрашивает Скурихин Никита.

Помогите определить виды матриц из данного примера: (2*A*E)+T Задача для VBa, знаю только, что

E-треугольная. Sub sup() Dim A() As Integer Dim B() As Integer Dim C() As Integer Dim D() As Integer Dim E() As Integer Dim T() As Integer Dim N As Integer Dim i As Integer Dim j As Integer Dim k As Integer N = InputBox("Введите количество столбцов") ReDim A(N, N) ReDim B(N, N) ReDim C(N, N) ReDim D(N, N) ReDim E(N, N) ReDim T(N, N) Randomize Range("A1").Value = "(2*A*T)+E" Range("A2").Value = "Матрица A" For i = 1 To N For j = 1 To N If i <> j Then A(i, j) = 1 End If Next j Next i For i = 1 To N For j = 1 To N Cells(2 + 1, j).Value = A(i, j) Next j Next i Cells(3 + N, 1).Value = "Матрица T" For i = 1 To N For j = 1 To N If i >= j Then T(i, j) = 0 Else T(i, j) = Rnd * 10 End If Next j Next i For i = 1 To N For j = 1 To N Cells(3 + N + i, j).Value = T(i, j) Next j Next i Cells(4 + N * 2, 1).Value = "Матрица E" For i = 1 To N For j = 1 To N E(i, j) = Rnd * 10 If i <> j Then E(j, i) = C(i, j) Next j Next i For i = 1 To N For j = 1 To N Cells(4 + N * 2 + i, j).Value = E(i, j) Next j Next i Cells(5 + N * 3, 1).Value = "C=A*T" For i = 1 To N For j = 1 To N E(i, j) = 0 For k = 1 To N E(i, j) = E(i, j) + A(i, k) * T(k, j) Next k Next j Next i For i = 1 To N For j = 1 To N Cells(5 + N * 3 + i, j).Value = C(i, j) Next j Next i Cells(6 + N * 4, 1).Value = "B=C*2" For i = 1 To N For j = 1 To N B(i, j) = C(i, j) * 2 Next j Next i For i = 1 To N For j = 1 To N Cells(6 + N * 4 + i, j).Value = T(i, j) Next j Next i Cells(7 + N * 5, 1).Value = "D=B+C" For i = 1 To N For j = 1 To N D(i, j) = B(i, j) + C(i, j) Next j Next i For i = 1 To N For j = 1 To N Cells(7 + N * 5 + i, j).Value = D(i, j) Next j Next i End Sub
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гиновян Сергей.
В первом вложении правильный код, во втором - пример картинки.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте разберемся с видами матриц в данном примере:

  1. Матрица A: Матрица A заполняется единицами во всех ячейках, где номер строки не равен номеру столбца, а остальные ячейки остаются нулями. Такая матрица называется "диагональной с единицами на побочной диагонали".

  2. Матрица T: Матрица T заполняется случайными числами от 0 до 10 включительно для ячеек, где номер строки больше номера столбца, и нулями в остальных ячейках. Такая матрица называется "верхнетреугольной" или "треугольной матрицей верхнего треугольника".

  3. Матрица E: Матрица E также заполняется случайными числами от 0 до 10 включительно, но затем значения в ней меняются местами (транспонируются) так, что элемент E(i, j) становится равным E(j, i). Такая матрица называется "симметричной".

Однако, стоит отметить, что в коде была ошибка в заполнении матрицы E:

vb
For i = 1 To N For j = 1 To N E(i, j) = Rnd * 10 If i <> j Then E(j, i) = C(i, j) ' Здесь ошибка, так как C не была ранее заполнена End If Next j Next i

Правильное заполнение матрицы E выглядело бы следующим образом:

vb
For i = 1 To N For j = 1 To N If i <> j Then E(i, j) = Rnd * 10 E(j, i) = E(i, j) End If Next j Next i

Теперь вы можете продолжить код, зная, что матрица E будет симметричной. Остальные матрицы в коде не были использованы для вычислений или вывода результатов.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос