VB 控制台程序:矩阵加法、转置和乘法运算
以下是使用 VB 编写的控制台程序,实现矩阵加法、转置和乘法运算。
Module Module1
Sub Main()
Console.WriteLine('请输入第一个矩阵的行数和列数:')
Dim m As Integer = Convert.ToInt32(Console.ReadLine())
Dim n As Integer = Convert.ToInt32(Console.ReadLine())
Dim matrix1(m - 1, n - 1) As Integer
Console.WriteLine('请输入第一个矩阵的元素:')
For i As Integer = 0 To m - 1
For j As Integer = 0 To n - 1
matrix1(i, j) = Convert.ToInt32(Console.ReadLine())
Next
Next
Console.WriteLine('请输入第二个矩阵的行数和列数:')
Dim p As Integer = Convert.ToInt32(Console.ReadLine())
Dim q As Integer = Convert.ToInt32(Console.ReadLine())
Dim matrix2(p - 1, q - 1) As Integer
Console.WriteLine('请输入第二个矩阵的元素:')
For i As Integer = 0 To p - 1
For j As Integer = 0 To q - 1
matrix2(i, j) = Convert.ToInt32(Console.ReadLine())
Next
Next
Console.WriteLine('第一个矩阵加法结果:')
If m = p And n = q Then
Dim sumMatrix(m - 1, n - 1) As Integer
For i As Integer = 0 To m - 1
For j As Integer = 0 To n - 1
sumMatrix(i, j) = matrix1(i, j) + matrix2(i, j)
Console.Write(sumMatrix(i, j) & " ")
Next
Console.WriteLine()
Next
Else
Console.WriteLine('两个矩阵行列数不相等,无法进行加法运算。')
End If
Console.WriteLine('第一个矩阵转置结果:')
Dim transposeMatrix(n - 1, m - 1) As Integer
For i As Integer = 0 To m - 1
For j As Integer = 0 To n - 1
transposeMatrix(j, i) = matrix1(i, j)
Console.Write(transposeMatrix(j, i) & " ")
Next
Console.WriteLine()
Next
Console.WriteLine('两个矩阵乘法结果:')
If n = p Then
Dim productMatrix(m - 1, q - 1) As Integer
For i As Integer = 0 To m - 1
For j As Integer = 0 To q - 1
productMatrix(i, j) = 0
For k As Integer = 0 To n - 1
productMatrix(i, j) += matrix1(i, k) * matrix2(k, j)
Next
Console.Write(productMatrix(i, j) & " ")
Next
Console.WriteLine()
Next
Else
Console.WriteLine('第一个矩阵的列数不等于第二个矩阵的行数,无法进行乘法运算。')
End If
Console.ReadLine()
End Sub
End Module
此程序首先要求用户输入两个矩阵的行数和列数,然后逐个输入矩阵的元素。然后,程序对两个矩阵进行加法运算,如果两个矩阵的行数和列数相等。然后,程序计算第一个矩阵的转置,并输出结果。最后,程序计算两个矩阵的乘法,并输出结果。如果两个矩阵的行数和列数不满足加法或乘法的条件,则会显示相应的错误消息。
原文地址: https://www.cveoy.top/t/topic/pjuy 著作权归作者所有。请勿转载和采集!