코딩테스트
[C++] 삼각형 면적
뇨롱
2021. 6. 27. 00:37
숙제 1 (삼각형 면적)
<행렬식>
위 삼각형의 면적을 구하는 식 Signed Area(△ABC)의 값은 양수, 음수, 혹은 0이 될 수 있다.
삼각형 면적 2차원 평면에서 세개의 점 A(ax, ay), B(bx, by), C(cx, cy)로 만들어지는 삼각형 △ABC의 면적 Area(△ABC)은 다음과 같은 3X3행렬의 행렬식(determinant)을 이용하여 계산할 수 있다.
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int w[3][2]={0x00,};
int width=0x00;
//int t=0x00;
for(int i=0;i<3;i++) cin>>w[i][0]>>w[i][1];
width=(w[1][0]-w[0][0])*(w[2][1]-w[0][1]);
width-=(w[2][0]-w[0][0])*(w[1][1]-w[0][1]);
cout<<abs(width)<<' ';
if(width<0) cout<<-1;
else if(width==0) cout<<0;
else cout<<1;
cout<<endl;
return 0;
}