K_blueprint

#30. 4개의 점의 좌표가 주어진 다각형에서 면적을 구하는 프로그램을 작성하라. 본문

C/실습 문제 모음

#30. 4개의 점의 좌표가 주어진 다각형에서 면적을 구하는 프로그램을 작성하라.

GODAGO 2024. 5. 28. 14:10
반응형

< 문제 내용 >

● 2차원 평면상에 세 점 (x1, y1), (x2, y2), (x3, y3), (x4, y4)로 이루어진 'ㄷ'모양의 다각형이 있을 때 이 다각형의 면적을 구하는 프로그램을 작성하라.

 

< 입력 조건 >

● 다각형의  네 점의 좌표가 실수 값으로 x1, y1, x2, y2, x3, y3, x4, y4 순서로 한 줄에 입력된다.

 

< 출력 조건 >

● 첫째 줄에 다각형의 면적을 소수점 이하 두 번째 자리까지 출력한다.

 

< 풀이 코드 >

#include <stdio.h>

int main() 
{
	// 좌표 및 면적 값을 저장할 변수 선언 
	double x1, y1,x2,y2,x3,y3,x4,y4, area, num1, num2, num3;	
	
	// 입력문 
	scanf("%lf %lf %lf %lf %lf %lf %lf %lf",&x1, &y1,&x2,&y2,&x3,&y3,&x4,&y4);
	
	num1 = (x3-x1)*(y4-y1);		// 전체면적 
	num2 = (x3-x2)*(y2-y3);		// 빈 공간 면적1 
	num3 = (x3-x4)*(y4-y2);		// 빈 공간 면적2 
	
	area = num1 - (num2+num3);		// 전체 면적에서 빈 면적 뺴기 
	
	printf("Area = %.2lf", area); 	// 출력문 
	
    return 0;
}

 

< 결과 출력 >

728x90
반응형