用Vb.net编写两个矩阵相乘!数学里矩阵相乘的公式是这样的!矩阵A的一行里的每一项和矩阵B对应列的每一项相乘,然后再相加.要用vb.net编啊,顺便能不能给我再举个合并排序的例子TAT~
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 16:36:25
用Vb.net编写两个矩阵相乘!数学里矩阵相乘的公式是这样的!矩阵A的一行里的每一项和矩阵B对应列的每一项相乘,然后再相加.要用vb.net编啊,顺便能不能给我再举个合并排序的例子TAT~
用Vb.net编写两个矩阵相乘!
数学里矩阵相乘的公式是这样的!矩阵A的一行里的每一项和矩阵B对应列的每一项相乘,然后再相加.要用vb.net编啊,
顺便能不能给我再举个合并排序的例子TAT~
用Vb.net编写两个矩阵相乘!数学里矩阵相乘的公式是这样的!矩阵A的一行里的每一项和矩阵B对应列的每一项相乘,然后再相加.要用vb.net编啊,顺便能不能给我再举个合并排序的例子TAT~
Public Shared Sub Main()
\x05\x05Dim a As Integer,b As Integer,c As Integer,d As Integer
\x05\x05Console.WriteLine("该程序将求出两个矩阵的积:")
\x05\x05Console.WriteLine("请指定矩阵A的行数:")
\x05\x05a = Integer.Parse(Console.ReadLine())
\x05\x05Console.WriteLine("请指定矩阵A的列数:")
\x05\x05b = Integer.Parse(Console.ReadLine())
\x05\x05Dim MatrixA As Integer(,) = New Integer(a - 1,b - 1) {}
\x05\x05For i As Integer = 0 To a - 1
\x05\x05\x05For j As Integer = 0 To b - 1
\x05\x05\x05\x05Console.WriteLine("请输入矩阵A第{0}行第{1}列的值:",i + 1,j + 1)
\x05\x05\x05\x05MatrixA(i,j) = Integer.Parse(Console.ReadLine())
\x05\x05\x05Next
\x05\x05Next
\x05\x05Console.WriteLine("矩阵A输入完毕.")
\x05\x05Console.WriteLine("请指定矩阵B的行数:")
\x05\x05c = Integer.Parse(Console.ReadLine())
\x05\x05Console.WriteLine("请指定矩阵B的列数:")
\x05\x05d = Integer.Parse(Console.ReadLine())
\x05\x05Dim MatrixB As Integer(,) = New Integer(c - 1,d - 1) {}
\x05\x05For i As Integer = 0 To c - 1
\x05\x05\x05For j As Integer = 0 To d - 1
\x05\x05\x05\x05Console.WriteLine("请输入矩阵A第{0}行第{1}列的值:",i + 1,j + 1)
\x05\x05\x05\x05MatrixB(i,j) = Integer.Parse(Console.ReadLine())
\x05\x05\x05Next
\x05\x05Next
\x05\x05Console.WriteLine("矩阵B输入完毕.")
\x05\x05Console.WriteLine("矩阵A为:")
\x05\x05outputMatrix(MatrixA,a,b)
\x05\x05Console.WriteLine("矩阵B为:")
\x05\x05outputMatrix(MatrixB,c,d)
\x05\x05If b c Then
\x05\x05\x05Console.WriteLine("矩阵A的列数与矩阵B的行数不相等,无法进行乘积运算!")
\x05\x05\x05Return
\x05\x05Else
\x05\x05\x05Console.WriteLine("矩阵A与矩阵B的乘积为:")
\x05\x05End If
\x05\x05Dim MatrixC As Integer(,) = New Integer(a - 1,d - 1) {}
\x05\x05For i As Integer = 0 To a - 1
\x05\x05\x05For j As Integer = 0 To d - 1
\x05\x05\x05\x05MatrixC(i,j) = 0
\x05\x05\x05\x05For k As Integer = 0 To b - 1
\x05\x05\x05\x05\x05MatrixC(i,j) += MatrixA(i,k) * MatrixB(k,j)
\x05\x05\x05\x05Next
\x05\x05\x05Next
\x05\x05Next
\x05\x05outputMatrix(MatrixC,a,d)
\x05End Sub
\x05Private Shared Sub outputMatrix(MatrixX As Integer(,),rowCount As Integer,columnCount As Integer)
\x05\x05For i As Integer = 0 To rowCount - 1
\x05\x05\x05For j As Integer = 0 To columnCount - 1
\x05\x05\x05\x05Console.Write(MatrixX(i,j) & vbTab)
\x05\x05\x05Next
\x05\x05\x05Console.WriteLine()
\x05\x05Next
\x05End Sub
End Class