【发布时间】:2016-11-19 11:23:40
【问题描述】:
我正在尝试制作一个程序,让用户输入 a 对 xy 坐标。程序必须使用距 (0,0) 最远的三个点作为三角形的顶点。程序必须输出三角形的面积。我知道它的公式,但我无法从 (0,0) 获得最远的三个点。
这里我的代码只对 x 坐标进行升序排序。如何对对进行排序并获得最远的三个点? 或者有没有更好的方法来制作这个程序?
int main() {
int x, a, b, t;
cin >> a; // a pairs of x and y
int xcoor[a], ycoor[a];
for (x = 1; x <= a; x++)
{
//enter coordinates
cin >> xcoor[x] >> ycoor[x];
}
for (x = 0; x < a; x++)
{
for (int y = 0; y < a - 1; y++)
{
if (xcoor[y] > xcoor[y + 1])
{
t = xcoor[y];
xcoor[y] = xcoor[y + 1];
xcoor[y + 1] = t;
}
}
}
return 0;
}
【问题讨论】: