| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1151 人关注过本帖
标题:C语言问题,编写函数,求平面上两点最长距离
只看楼主 加入收藏
renzhichu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:6 
C语言问题,编写函数,求平面上两点最长距离
平面上有100个点,任意两点可以连成线段,编写函数,求在所有线段中,长度最长的线段长度。
如果改为求最小的线段长度,函数又怎么写?
double GetLen(int x0,int y0,int x1,int y1)
{
    return sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));   
}

这是求两点距离的函数,但是怎么求最长或者最小距离呢?求大神们指导一下,新人先谢谢大家了。
搜索更多相关主题的帖子: C语言 平面 
2015-12-16 22:15
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
for i = 1 to 99
for j = i+1 to 100
begin:
   length = GetLen(pi.x, pi.y, pj.x, pj.y)
   if length > maxLength then
     maxLength = length
  end
end


[fly]存在即是合理[/fly]
2015-12-17 09:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
距离最长的两点,一定都在凸包的边缘上。
所以先求凸包,这个简单吧,从任意一点开始,以同一个方向旋转,……
一下子就去掉好多打酱油的无关点了

求凸包上距离最长的顶点,也有巧妙算法
想象有两块此刻平行的夹板,紧紧夹住了这个凸包,然后夹板旋转360度,获得凸包边长个距离,取这几个距离中的最小值
2015-12-17 09:13
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:4 
再写一个max函数 比较所有长度

好好学习,天天向上!
2015-12-17 10:43
renzhichu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-16
收藏
得分:0 
回复 3楼 rjsp
额,说的好深奥,能不能用代码体现一下,谢了。
2015-12-17 19:13
renzhichu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-12-16
收藏
得分:0 
回复 4楼 未来大仙
额,帮忙写下代码呗,新手不太会,求指导。
2015-12-17 19:14
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
回复 6楼 renzhichu
就是普通的max函数 只是调用的次数用循环实现

好好学习,天天向上!
2015-12-17 19:38
快速回复:C语言问题,编写函数,求平面上两点最长距离
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025236 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved