c语言 算平行四边形个数
答案:4 悬赏:30
解决时间 2021-01-31 03:16
- 提问者网友:傲气稳全场
- 2021-01-30 06:44
在一个20*20的直角坐标系内,判断能够组成多少个不同的平行四边形(排除重合的)。
最佳答案
- 二级知识专家网友:兮沫♡晨曦
- 2021-01-30 07:24
四边形的特征是对角线相交,任意两点可以组成一条直线,你先把20*20的矩阵枚举成数组,用概率论的思想应该很容易算出来了。
全部回答
- 1楼网友:星痕之殇
- 2021-01-30 10:32
直接枚举三个顶点
- 2楼网友:统治我的世界
- 2021-01-30 09:11
。。。,N多个
- 3楼网友:说多了都是废话
- 2021-01-30 08:54
4个点,组成四边形,那么就是有4条边,先判断两条边的斜率,如果相同,在判断剩下的两条边的斜率,如果再相同,那么就是平行四边形 4个点组成两对平行线,就是2中情况 一、1 2组成一条线,那么3 4组成一条线。剩下1 4和2 3组成两条线 二、1 3组成一条线,那么2 4组成一条线。剩下1 4和2 3组成两条线 分别判断情况 其实就是判断斜率问题,这里说一下,斜率判断不要用除法,而要用乘法 原因是除法小数近似时比较有误差,而乘法没有误差 做一个斜率比较的子函数 int fun1(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int flag) //这里要是vc的话,可以吧点的类传过去,flag是一个标记,标记那两条线比较 //最后返回一个数字标记那两条线的比价,不平行返回0 { if((x1-x2)*(y3-y4)!=(x3-x4)*(y1-y2)) return 0; return flag; } 主函数中也比较简单的判断 int m[4],n[4],f; int i; //输入四个点到mn中 if(12 34点和14 23点的斜率判断) 求面积 else if(13 24点和14 23点的斜率判断) 求面积 else 不能
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯