给你写了一个求质心的函数,代码如下:
成都创新互联专业为企业提供孟村网站建设、孟村做网站、孟村网站设计、孟村网站制作等企业网站建设、网页设计与制作、孟村企业网站模板建站服务,十余年孟村做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
(因为函数中使用到求平方根的函数sqrt,所以请包含math.h头文件)
#include math.h
POINT ZX(int X1,int Y1,int X2,int Y2,int X3,int Y3) //参数分别为三角形的三个坐标点
{float L1,L2,L3,N; //L1,L2,L3分别代表三条边的长,(N用来作交换用)
POINT PN; //用来表示质心的坐标
L1=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)); //分别求出三条边的长
L2=sqrt((X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3));
L3=sqrt((X3-X2)*(X3-X2)+(Y3-Y2)*(Y3-Y2));
if (L1L2) //如果L2比L1大,就把两个数交换
{N=L1;
L1=L2;
L2=N;}
if (L1L3) //如果L3比L1大,就把两个数交换
{N=L1;
L1=L3;
L3=N;}
//经过两轮的比较和交换,可以确保L1是三条边中最大的一条
if (L1=(L2+L3)) //如果最大边大于等于两条小条的和,则三点构不成一个三角形
{PN.x=0xffffffff; //设置一个错误值
PN.y=0xffffffff;
return PN;} //让函数返回错误值,这样调用函数之后就可以作出相应的判断
/*如果通过判断符合三角形的条件,求质心,质心就是重心,公式很简单.
就是X=(X1+X2+X3)/3;Y=(Y1+Y2+Y3)/3,如果要证明有点长,这里就不说.
你可以自己试着证明一下,或百度一下*/
PN.x=(X1+X2+X3)/3;
PN.y=(Y1+Y2+Y3)/3;
return PN;}
要定位到行,代码要debug编译,至少要带上行信息。
线程占用内存高低,可以用jmap做heap dump出来给MomoryAnalysis分析他可以按线程统计,一般也可以用它来找出造成OOM的原因。
线程占用CPU,上述内存的问题是一个方面,另外也可以jstack打线程栈来分析。Linux上ps -T -p可以看底层线程的CPU占用(Windows上需要额外按工具),记得线程编号可以在jstack打出来的线程栈中检查。
(3,4,N)
上北下南左西又东
顺时针排序:北东南西
北1 东2 南3 西4
(3,4,1)
左转1+1=2东
右转1-1=01,则0=4西
后转1+2=3南
可以把朝向问题看成类似约瑟夫的问题。
用数组记录当前坐标X Y 及朝向。用1,2,3,4代表北东南西
左转后,(3,4,2)
往前一步,
当朝向不同的时候,有对应的向前向后是改变哪个坐标值,
写四个朝向时候的坐标的算法
然后调用,传入2,则调用case=2时的动作,如果向前则~~~向后则~~~~再命令转向则(调用处理方向改变的函数)~~~~
最后输出(,,),对最后一个兑换成“东南西北”输出就行了
()