본문 바로가기

코딩테스트

[C++] 삼각형 면적

숙제 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;
}

'코딩테스트' 카테고리의 다른 글

[C++] 소수  (0) 2021.06.27
[C++] 다각형 면적  (0) 2021.06.27
[C++] 호텔  (0) 2021.06.27
[C++] 수직/수평 선분의 교차  (0) 2021.06.27
[C++] 사각형과 점 과의 거리  (0) 2021.06.27