求出二维数组中m*n的鞍点

姓名:杨健专业:电气工程及其自动化 学号:15050341036                                    求出二维数组中m*n的鞍点

一、实验目的:

 1.掌握数组的声明和数组元素的引用

 2.掌握定长数组和动态数组的使用

 3.掌握数组的基本操作算法

 4.掌握过程的定义和调用 

二、实验内容

    找一个n*m的二维数组的“鞍点”。“鞍点”是指它在本行中数值最大,在本列中数值最小。也可能在一个数组中找不到鞍点。输出鞍点的行、列号,如无鞍点则输出“无鞍点”。

三、实验步骤

打开VB,在左侧选中commondbutton键,在右侧空白区域选中,出现commond1钮,双击它,在其中输入以下内容

Option Base 1

Private Sub form_Click()

Cls

Dim a() As Integer, i As Integer, j As Integer

Dim maxvr As Integer, col As Integer, find As Boolean

n = InputBox("请输入矩阵行数:")

m = InputBox("请输入矩阵列数:")

ReDim a(n, m)

Print n &"*"& m &"矩阵"

For i = 1 To n

For j = 1 To m

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

Print a(i, j);

Next j

Print

Next i

For i = 1 To n

maxvr = a(i, 1): col = 1

For j = 2 To m

If maxvr < a(i, j) Then

maxvr = a(i, j): col = j

End If

Next j

For j = 1 To n

If maxvr > a(j, col) Then Exit For

Next j

If j > n Then

Print "存在鞍点a("& i &","& col &")="& a(i, col)

find = True

End If

Next i

If Not find Then Print "鞍点元素不存在"

End Sub

四、实验感想

1、在语句开头需加“cls”

原因:结果有鞍点的概率较低,多鞍几次按钮才可能出现一次有鞍点的情况。

 

你可能感兴趣的:(求出二维数组中m*n的鞍点)