空間中任意三個點組成三角形面積

2021-08-26 20:30:40 字數 1827 閱讀 3069

問題1:遍歷所有可能的3個點

for(inti = 0; i < n; i++)

for(intj = i + 1; j < n; j++)

for(intk = j + 1; k < n; k++)

問題2:判斷3個點是否能組成三角形

doublea = dis(i, j);//計算兩點距離

doubleb = dis(i, k);

doublec = dis(k, j);

if(a < (b + c) && b < (a + c) && c < (a + b))

returnfalse;

問題3:判斷顏色是否相同或全不同

if(v[i].c == v[j].c && v[j].c == v[k].c)

elseif(v[i].c != v[j].c &&v[i].c != v[k].c&&v[k].c != v[j].c)

returnfalse;

double a = l3(i, j);//求三邊的長度

double b = l3(i, k);

double c = l3(k, j);

double p = (a + b + c) / 2;

return sqrt(p * (p - a) * (p - b) * (p - c));

#includeusing namespace std; /*

3r 0 0 0

r 0 4 0

b 0 0 3*/

struct node;

double max = 0;

int n;

vectorv;

//計算兩點之間的舉例

double l3(int i, int j)

//判斷是否是三角形

bool issan(int i, int j, int k)

return false;}

//判斷顏色

bool iscolour(int i, int j, int k)

else if (v[i].c != v[j].c &&v[i].c != v[k].c&&v[k].c != v[j].c)

return false;}

//計算三角形面積

double cmputearea(int i, int j, int k)

//遍歷所有可能的三個點

void run()}}

}}}

int main()

run();

printf("%.5lf", max);

}

三角形面積

算是自己第一道正式寫的演算法幾何吧,先從簡單的開始吧,加油!描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入 每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入結束...

三角形面積

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入...

三角形面積

題目描述 我願為自己加上private 在你的class中 只有你能呼叫 lily的老師給他出了乙個問題,給出三角形的三邊長abc,lily要計算出這個三角形的面積,liy比較懶 週末要睡覺嘛 現在要向你求助。輸入有多組測試資料,第一行輸入乙個整數t表示測試資料的組數。接下來t組測試資料,每組測試資...