VB 控制台应用程序:矩阵加法、转置和乘法
以下是使用 VB 编写的控制台应用程序代码,实现矩阵加法、转置和乘法运算:
Imports System
Module Program
Sub Main(args As String())
' 定义两个矩阵
Dim matrix1(,) As Integer = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
Dim matrix2(,) As Integer = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}
Console.WriteLine('矩阵加法结果:')
Dim resultAddition(,) As Integer = MatrixAddition(matrix1, matrix2)
PrintMatrix(resultAddition)
Console.WriteLine('矩阵转置结果:')
Dim resultTranspose(,) As Integer = MatrixTranspose(matrix1)
PrintMatrix(resultTranspose)
Console.WriteLine('矩阵乘法结果:')
Dim resultMultiplication(,) As Integer = MatrixMultiplication(matrix1, matrix2)
PrintMatrix(resultMultiplication)
Console.ReadLine()
End Sub
' 矩阵加法
Function MatrixAddition(matrix1 As Integer(,), matrix2 As Integer(,)) As Integer(,)
Dim rows As Integer = matrix1.GetLength(0)
Dim cols As Integer = matrix1.GetLength(1)
Dim result(rows - 1, cols - 1) As Integer
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
result(i, j) = matrix1(i, j) + matrix2(i, j)
Next
Next
Return result
End Function
' 矩阵转置
Function MatrixTranspose(matrix As Integer(,)) As Integer(,)
Dim rows As Integer = matrix.GetLength(0)
Dim cols As Integer = matrix.GetLength(1)
Dim result(cols - 1, rows - 1) As Integer
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
result(j, i) = matrix(i, j)
Next
Next
Return result
End Function
' 矩阵乘法
Function MatrixMultiplication(matrix1 As Integer(,), matrix2 As Integer(,)) As Integer(,)
Dim rows1 As Integer = matrix1.GetLength(0)
Dim cols1 As Integer = matrix1.GetLength(1)
Dim rows2 As Integer = matrix2.GetLength(0)
Dim cols2 As Integer = matrix2.GetLength(1)
If cols1 <> rows2 Then
Console.WriteLine('无法进行矩阵乘法运算')
Return Nothing
End If
Dim result(rows1 - 1, cols2 - 1) As Integer
For i As Integer = 0 To rows1 - 1
For j As Integer = 0 To cols2 - 1
For k As Integer = 0 To cols1 - 1
result(i, j) += matrix1(i, k) * matrix2(k, j)
Next
Next
Next
Return result
End Function
' 打印矩阵
Sub PrintMatrix(matrix As Integer(,))
Dim rows As Integer = matrix.GetLength(0)
Dim cols As Integer = matrix.GetLength(1)
For i As Integer = 0 To rows - 1
For j As Integer = 0 To cols - 1
Console.Write(matrix(i, j) & ' ')
Next
Console.WriteLine()
Next
Console.WriteLine()
End Sub
End Module
此代码定义了3个函数:MatrixAddition(矩阵加法)、MatrixTranspose(矩阵转置)和MatrixMultiplication(矩阵乘法),并在Main函数中进行调用和输出。运行这个控制台应用程序将会输出矩阵加法、转置和乘法的结果。
原文地址: https://www.cveoy.top/t/topic/pjuA 著作权归作者所有。请勿转载和采集!