[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图8所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值”命令按钮时,找出矩阵中最大的数,并显示在标签Label3中。当单击“对角线元素之和”命令按钮时,计算矩阵主对角线元素之和,并显示在标签Label4中。文件中已给出部分程序,请编写“找矩阵元素最大值”及“对角线元素之和”两个命令按钮的事件过程中的部分程序代码。![[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图8所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值 [问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图8所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值](/uploadfile/member/20180926/1537963043.jpg)
注意:不得修改程序的其他部分和控件属性,最后把修改后的文件按原文件名存盘。程序调试通过后,两个命令按钮的事件过程必须至少各执行一次。[题目提供的源程序]标准模块sjt5.bas内容:Public Sub save(1 As Control)Open App.Path & "out5.txt" For Append As #1Print #1, 1.CaptionClose #1End Sub窗体Form1的内容:Option base 1Dim a(4,4) As IntegerPrivate Sub Command1_Click()’考生应编写的程序’不得修改以下部分save Label3End SubPrivate Sub Command2_Click()’考生应编写的程序’不得修改以下部分save Label4End SubPrivate Sub Form_Load()Open App.Path & "in5.txt" For Input As #1For i=1 To 4For j=1 To 4Input #1, a(i,j)Next jNext iClose #1End Sub
参考答案:
[操作步骤]第l步:打开工程sjtE.vbp。第B步:编写程序,参考程序如下。Private Sub CommandA_Click()考生应编写的程序Dim i As Integer, j As Integer, max As Integermax=a(A,A)For i=A To DFor j=A To DIf a(i,j)>max Then max=a(i,j)Next jNext iLabelC=max’不得修改以下部分save LabelCEnd SubPrivate Sub CommandB_Click()’考生应编写的程序Dim sum As Integer, i As Integer, j As Integersum=0For i=A To DFor j=A To DIf i=j Then sum=sum+a(i,j)Next jNext iLabelD=sum’不得修改以下部分save LabelDEnd Sub第C步:调试、运行并保存程序。为计算矩阵主对角线元素之和,也要遍历二维数组,找出行标和列标相等的元素即为二维数组(矩阵)对角线上的元素,将这样的元素累加起来就得到了对角线上元素的和。问题解析:
为找出矩阵中最大的数,原程序在Form_Load事件过程中将所有数据读入到二维数组A中,先假定数组中任意一个元素为最大值,再遍历整个数组,用数组元素与假定的最大值比较,如果发现新的更大的值,则将新的更大的值假定为最大值;继续比较,直到数组的最后一个元素比较完毕为止。

![[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图8所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值 [问答题] 在考生文件夹下有一个工程文件sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图8所示。程序运行时,矩阵数据被放入二维数组a中。当单击“找矩阵元素最大值](http://www.mshxw.com/aiimages/31/259482.png)
