二位数组m*n的鞍点

二维数组m*n的鞍点

一:实验目的

设计vb程序,找到二维数组m*n中的鞍点。(所谓鞍点就是指它在本行中值最大,在本列中值最小)

二:实验内容

1.打开vb。

2.单击工具栏中的commandbutton,在form1上单击左键出现commandbutton。

3.单击commandbutton开始编写代码。

程序代码

注:括号内为解释说明。

Option Base 1

('m*n的二维数组,m行,n列)

Dim anma() As Integer

Dim m As Byte, n As Byte

Private Sub Command1_Click()

   Cls

   Me.Font.Size = 8

    ('生成二维数组)

    ('Dim m AsByte,n As Byte)

    m= 5: n = 6

   ReDim anma(m, n)

    ('此时数组里全是“0”)

    ('我们用一个双重循环来赋初值)

    ('i--m,j—n)

   Dim i As Byte, j As Byte

   For i = 1 To m

       For j = 1 To n

           anma(i, j) = 10 + Int(Rnd * 90)

           ('print(anma(i,j);Spc(3))

           Next j

           ('print)

       Next i

       

      ( '在窗体上输出已存在的二维数组)

       ('Dim i As Byte,j As Byte)

       For i = 1 To m

           For j = 1 To n

                ('anma(i,j)=10+nt(rnd*90))

                Print anma(i, j); Spc(3)

           Next j

           Print

       Next i

       'k------?

       ('对数组进行分析)

       ('row-max表示当前行上的最大值)

        ('column-max表示所找到的最大值所在的列号)

       Dim row_max As Integer, column_max As Byte

       For i = 1 To m

       row_max = anma(i, 1)

       column_max = 1

       For j = 2 To n

           If anma(i, j) > row_max Then

                row_max = anma(i, j)

                column_max = j

           End If

       Next j

       For k = 1 To m

           If anma(k, column_max) < row_max Then

                Exit For

           End If

       Next k

       If k = m + 1 Then

           Print "鞍点:" & i & "," & column_max

       End If

   Next i 

End Sub

4.编写完代码后点击运行即可出现数组。

三:实验心得

Vb是一门很难得学科,学好它需要多下功夫。

如果K<M则找不到鞍点,如果K>m+1则能找到鞍点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值