我正在嘗試製作一個程序,使用戶輸入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;
}