| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 357 人关注过本帖
标题:如何找一个二维数组的鞍点?
收藏  订阅  推荐  打印 
梦幻之人
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2005-5-13
如何找一个二维数组的鞍点?

找鞍点:在一个矩阵中,如果i行上的最大值a(i,j)同时是第j列上最小值,则称该数是一个鞍点。
例如:
1        4        9        8
3        4        6        1
7        5        8        6
在上面的矩阵中,第二行第三列的元素6就是这个矩阵的鞍点。
下面是我写的程序,经过测试,漏洞百出。请大家指点迷津

Private Sub Command1_Click()
Const M As Integer = 3
Const N As Integer = 3
Dim min As Integer
Dim max As Integer
Dim p As Integer
Dim q As Integer
Dim data(M, N) As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Randomize Timer
For i = 1 To M
For j = 1 To N
  data(i, j) = Rnd * 50
Next
Next
For i = 1 To M
For j = 1 To N
  Print data(i, j),
Next
Print
Next
For i = 1 To M
For j = 1 To N
  If data(i, j) > max Then
  p = i: q = j
  max = data(i, j)
  End If
Next
min = max
For k = 1 To M
If min >= data(k, q) Then
  min = data(k, q)
  Exit For
End If
Next
If max = min Then
Print "找到鞍点:"; max
Print "其行值为:"; p, "其列值为:"; q
Exit Sub
End If
Next
Print "没找到鞍点"
End Sub
搜索更多相关主题的帖子: 鞍点  
2007-12-3 16:28
purana
Rank: 12Rank: 12Rank: 12
来自:广东-广州
等级:版主
威望:66
帖子:6040
积分:61390
注册:2005-6-17

百度一下..太多了.

我的msn: myfend@hotmail.com
2007-12-3 16:47
梦幻之人
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2005-5-13

百度里找的都是C语言C++的程序,看不懂。
2007-12-3 17:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049159 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved