vb编程题目求具体解答过程

计算一个5行5列二维数组的行和、列和以及对角线元素之和,数组元素由1~9范围内的一位随机正整数构成。参考界面如图所示。将窗体文件和工程文件分别以F1.frm和P1.vbp... 计算一个5行5列二维数组的行和、列和以及对角线元素之和,数组元素由1~9范围内的一位随机正整数构成。参考界面如图所示。将窗体文件和工程文件分别以F1.frm和P1.vbp保存在D盘的VB文件夹中。要求代码书写呈锯齿型,按题目要求保存在相应的文件夹中,否则无法上传你完成的实验!具体要求:

1、窗体界面由1个标签、1个图片框、3个文本框和4个命令按钮组成,请参照参考界面完成所有对象的属性设置;

2、单击"生成数组"按钮,在图片框中显示5行5列的数组;

3、单击"列和"和"行和"按钮,分别在对应的文本框中显示数组的行和与列和;

4、单击"对角线和"按钮,计算数组主对角线和副对角线元素之和并显示在文本框
展开
 我来答
数学与计算机编程
2016-05-28 · TA获得超过2159个赞
知道大有可为答主
回答量:2312
采纳率:80%
帮助的人:555万
展开全部

Option Base 1

Dim intArray(5, 5) As Integer

Private Sub Command1_Click()

  Randomize

  Dim i As Integer, j As Integer

   Me.Picture1.Cls

  For i = 0 To 2

    Me.Text1(i).Text = ""

  Next i

  For i = 1 To 5

    For j = 1 To 5

      intArray(i, j) = Int(Rnd(i * j) * 9 + 1)

      Me.Picture1.Print intArray(i, j);

    Next j

    Me.Picture1.Print

  Next i

End Sub


Private Sub Command2_Click(Index As Integer)

  Dim i As Integer, j As Integer, intRowSum(5) As Integer, intColumnSum(5) As Integer, intDiagonalSum(2) As Integer

  Select Case Index

    Case 0

      For i = 1 To 5

        For j = 1 To 5

          intRowSum(i) = intRowSum(i) + intArray(i, j)

          If j Mod 5 = 1 Then

             Me.Text1(Index).Text = Me.Text1(Index).Text & CStr(intArray(i, j))

          Else

            Me.Text1(Index).Text = Me.Text1(Index).Text & "+" & CStr(intArray(i, j))

          End If

        Next j

        Me.Text1(Index).Text = Me.Text1(Index).Text + "=" + CStr(intRowSum(i))

        Me.Text1(Index).Text = Me.Text1(Index) + vbCrLf

      Next i

    Case 1

      For j = 1 To 5

        For i = 1 To 5

          intColumnSum(j) = intColumnSum(j) + intArray(i, j)

          If i Mod 5 = 1 Then

             Me.Text1(Index).Text = Me.Text1(Index).Text & CStr(intArray(i, j))

          Else

            Me.Text1(Index).Text = Me.Text1(Index).Text & "+" & CStr(intArray(i, j))

          End If

        Next i

        Me.Text1(Index).Text = Me.Text1(Index).Text + "=" + CStr(intColumnSum(j))

        Me.Text1(Index).Text = Me.Text1(Index) + vbCrLf

      Next j

    Case 2

      For i = 1 To 5

        intDiagonalSum(1) = intDiagonalSum(1) + intArray(i, i)

        If i Mod 5 = 1 Then

          Me.Text1(Index).Text = Me.Text1(Index).Text + CStr(intArray(i, i))

        Else

          Me.Text1(Index).Text = Me.Text1(Index).Text + "+" + CStr(intArray(i, i))

        End If

      Next i

        Me.Text1(Index).Text = Me.Text1(Index).Text + "=" + CStr(intDiagonalSum(1))

        Me.Text1(Index).Text = Me.Text1(Index).Text + vbCrLf

      For i = 1 To 5

        intDiagonalSum(2) = intDiagonalSum(2) + CStr(intArray(i, 6 - i))

        If i Mod 5 = 1 Then

          Me.Text1(Index).Text = Me.Text1(Index).Text + CStr(intArray(i, 6 - i))

        Else

          Me.Text1(Index).Text = Me.Text1(Index).Text + "+" + CStr(intArray(i, 6 - i))

        End If

      Next i

        Me.Text1(Index).Text = Me.Text1(Index).Text + "=" + CStr(intDiagonalSum(2))

  End Select

End Sub

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式