【发布时间】:2018-01-07 10:33:52
【问题描述】:
如果给了我 4 条边,我如何确定这 4 条边是否构成一个矩形? 目前,我正在做的是:
在大小为 4 的数组中将 4 条边作为输入;
sort(array,array+4)对数组进行排序for(int i=0;i
但是,这里我只是检查 4 个边是否是平行四边形。如何更改我的算法以检查它是否是矩形
【问题讨论】:
-
你不能从边上唯一地重建一个四边形。
-
你的问题太模糊了。赋予你的“一面”究竟是什么——双重价值?如果这就是你所知道的,你就无法区分矩形和平行四边形,因为边长不能决定图形。您还需要有关角度、对角线或顶点坐标等的信息。
-
该值不是双倍的。它是 int..
-
我认为您可以通过首先检查是否只给出四个唯一点来获得它。其次,计算所有对距离,您必须获得最多三个不同的值。每个对角线一个,两侧两个。那么两边必须满足毕达哥拉斯关系。
-
如果只给出长度,您将无法确定形状是否为矩形。如果您获得了形状顶点的坐标,那么如果您知道哪 2 个顶点定义了特定长度,则应该可以。您必须提供更多信息。