VB矩阵相乘实验报告.doc
文本预览下载声明
VB.NET应用开发
实 验 报 告 四
题 目: 矩阵相乘 学生姓名: YQY 完成时间: 2012年 11月 07日
问题描述
编程实现两矩阵相乘,要求:
1.界面输入矩阵A和B的行列数;
2.矩阵元素值由随机函数生成,随机函数取值范围由界面录入;
3.点击“计算”按钮,程序首先判断两矩阵是否满足矩阵相乘条件,若满足,则将矩阵A、B和结果矩阵C显示在下方label中(注意格式对齐);若不满足,需给出提示信息,并清空相关textbox。
2. 关键代码
Imports System.Math
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text =
TextBox2.Text =
TextBox3.Text =
TextBox4.Text =
TextBox5.Text =
TextBox6.Text =
TextBox7.Text =
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j, m, n, x, y, k1, k2, k3 As Integer
Dim sc1(10, 10), sc2(10, 10), sc3(10, 10) As Integer
Randomize()
i = TextBox1.Text
j = TextBox2.Text
m = TextBox3.Text
n = TextBox4.Text
x = TextBox5.Text
y = TextBox6.Text
If j m Then
MsgBox(两个矩阵无法进行相乘,请重新输入, , 警告)
Else
For k1 = 1 To i
For k2 = 1 To j
sc1(k1, k2) = Int(Rnd() * (Abs(y - x) + 1) + Min(x, y))
TextBox7.Text = sc1(k1, k2) Space(4)
Next
TextBox7.Text = vbCrLf
Next
For k1 = 1 To m
For k2 = 1 To n
sc2(k1, k2) = Int(Rnd() * (Abs(y - x) + 1) + Min(x, y))
TextBox7.Text = sc2(k1, k2) Space(4)
Next
TextBox7.Text = vbCrLf
Next
For k1 = 1 To i
For k2 = 1 To n
For k3 = 1 To j
sc3(k1, k2) += sc1(k1, k3) * sc2(k3, k2)
Next k3
TextBox7.Text = sc3(k1, k2) Space(4)
Next k2
TextBox7.Text = vbCrLf
Next k1
End If
End Sub
End Class
结果显示如下:
问题总结及心得体会
首先判断两个矩阵能否相乘,当第一个矩阵的列数不等于第二个矩阵的行数时,两
显示全部