问题描述:
欧几里德、毕达哥拉斯、帕斯卡和蒙特打算去公园玩,公园是N行,M列。帕斯卡、欧几里德和蒙特站在三个不同位置。毕达哥拉斯最后一个到达,并决定站在一个位置并使四个点组成平行四边形。已知欧几里德和蒙特位置是平行四边形的对角线。编程,求毕达哥拉斯的位置。
输入七个参数:
行数N clos
列数M rows
positionPark 公园矩阵坐标
endInx 欧几里德x坐标
endIny 欧几里德y坐标
montx 蒙特X坐标
moteY 蒙特Y坐标
输出:毕达哥拉斯组成平行四边形的x和y坐标。
分析:首先需要确定帕斯卡的坐标位置。已知三点,并且确定其中两点为对角线。求出对角线的中点E,根据点E距离C点横纵坐标的距离,与点D距离点E横纵坐标的距离相等,求出点D的坐标。
代码如下:
public static void main(String[] args) {
/* char [][]positionInpark={
{'-','-','-','-','-','-','-','-'},
{'-','+','-','-','-','-','-','-'},
{'-','-','-','-','-','-','-','-'},
{'-','+','-','-','-','-','+','-'},
};*/
char [][]positionInpark={
{'-','-','-','-'},
{'-','+','-','-'},
{'+','-','-','-'},
{'-','-','-','-'},
{'-','-','+','-'},
};
int a[]= toCompleteParrelogrom(5,4,positionInpark,2,2,5,3);
System.out.println(a);
}
public static int [] toCompleteParrelogrom(int rows,int clos,char [][]positionInpark,int endInx,int endIny,int moteX,int moteY){
int pax=0,pay=0;
for(int i=0;i