当前位置:编程学习 > C#/ASP.NET >>

求助!用Vb.net编写两个矩阵相乘!

数学里矩阵相乘的公式是这样的! 矩阵A的一行里的每一项和矩阵B对应列的每一项相乘,然后再相加。要用vb.net编啊,谢谢了!
补充:顺便能不能给我再举个合并排序的例子TAT~~谢谢
追问:是VB。net。。。。不是VB啊QAQ
答案:Public Shared Sub Main()
		Dim a As Integer, b As Integer, c As Integer, d As Integer
		Console.WriteLine("该程序将求出两个矩阵的积:")
		Console.WriteLine("请指定矩阵A的行数:")
		a = Integer.Parse(Console.ReadLine())
		Console.WriteLine("请指定矩阵A的列数:")
		b = Integer.Parse(Console.ReadLine())
		Dim MatrixA As Integer(,) = New Integer(a - 1, b - 1) {}
		For i As Integer = 0 To a - 1
			For j As Integer = 0 To b - 1
				Console.WriteLine("请输入矩阵A第{0}行第{1}列的值:", i + 1, j + 1)
				MatrixA(i, j) = Integer.Parse(Console.ReadLine())
			Next
		Next
		Console.WriteLine("矩阵A输入完毕.")
		Console.WriteLine("请指定矩阵B的行数:")
		c = Integer.Parse(Console.ReadLine())
		Console.WriteLine("请指定矩阵B的列数:")
		d = Integer.Parse(Console.ReadLine())
		Dim MatrixB As Integer(,) = New Integer(c - 1, d - 1) {}
		For i As Integer = 0 To c - 1
			For j As Integer = 0 To d - 1
				Console.WriteLine("请输入矩阵A第{0}行第{1}列的值:", i + 1, j + 1)
				MatrixB(i, j) = Integer.Parse(Console.ReadLine())
			Next
		Next
		Console.WriteLine("矩阵B输入完毕.")
		Console.WriteLine("矩阵A为:")
		outputMatrix(MatrixA, a, b)
		Console.WriteLine("矩阵B为:")
		outputMatrix(MatrixB, c, d)
		If b <> c Then
			Console.WriteLine("矩阵A的列数与矩阵B的行数不相等,无法进行乘积运算!")
			Return
		Else
			Console.WriteLine("矩阵A与矩阵B的乘积为:")
		End If
		Dim MatrixC As Integer(,) = New Integer(a - 1, d - 1) {}
		For i As Integer = 0 To a - 1
			For j As Integer = 0 To d - 1
				MatrixC(i, j) = 0
				For k As Integer = 0 To b - 1
					MatrixC(i, j) += MatrixA(i, k) * MatrixB(k, j)
				Next
			Next
		Next
		outputMatrix(MatrixC, a, d)
	End Sub
	Private Shared Sub outputMatrix(MatrixX As Integer(,), rowCount As Integer, columnCount As Integer)
		For i As Integer = 0 To rowCount - 1
			For j As Integer = 0 To columnCount - 1
				Console.Write(MatrixX(i, j) & vbTab)
			Next
			Console.WriteLine()
		Next
	End Sub
End Class

上一个:vb.net new关键字分配内存问题,急急急!!!
下一个:请问一下c#和vb.net程序员,帮忙转换几个函数

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,