Notice
Recent Posts
Recent Comments
Link
빙수달 게임 개발 노트
[C++] 두 원의 관계를 판단하는 프로그램 본문
#include <iostream>
using namespace std;
double circle1_center_circle2_center_distance(double x1, double y1, double a1, double b1);
int main(void)
{
double x1, y1, a1, b1 = 0;
cin >> x1 >> y1 >> a1 >> b1;
cout << "Circle1의 중심은 (" << x1 << "," << y1 << ")이고 Circle2의 중심은 (" << a1 << "," << b1 << ")이다.\n";
double circle1_radius = 0;
double circle2_radius = 0;
cin >> circle1_radius >> circle2_radius;
cout << "Circle1의 반지름은 " << circle1_radius << "이고, Circle2의 반지름은 " << circle2_radius << "이다.\n";
if (circle1_radius > ((circle2_radius)+circle1_center_circle2_center_distance(x1, y1, a1, b1)))
{
cout << "circle2는 circle1 내부에 있다.";
return 0;
}
else if (circle2_radius > ((circle1_radius)+circle1_center_circle2_center_distance(x1, y1, a1, b1)))
{
cout << "circle1은 circle2 내부에 있다.";
return 0;
}
if (circle1_center_circle2_center_distance(x1, y1, a1, b1) < (circle1_radius + circle2_radius))
{
cout << "circle1과 circle2는 겹친다.";
}
else if (circle1_center_circle2_center_distance(x1, y1, a1, b1) > (circle1_radius + circle2_radius))
{
cout << "circle1과 circle2는 겹치지 않는다.";
}
else if (circle1_center_circle2_center_distance(x1, y1, a1, b1) == (circle1_radius + circle2_radius))
{
cout << "circle1과 circle2는 접한다.";
}
return 0;
}
double circle1_center_circle2_center_distance(double x1, double y1, double a1, double b1)
{
double circle1_center_circle2_center_distance;
circle1_center_circle2_center_distance = sqrt((a1 - x1) * (a1 - x1) + (b1 - y1) * (b1 - y1));
return circle1_center_circle2_center_distance;
}

'Programming > C++' 카테고리의 다른 글
| [C++] 점이 원 안에 있는지 판별하는 프로그램 (0) | 2024.12.19 |
|---|---|
| [C++] 동전 시뮬레이션 프로그램 (0) | 2024.12.18 |
| [C++] 함수 포인터를 이용한 계산기 (0) | 2024.12.18 |
| [C++] 비밀번호 양식 판독기 (0) | 2024.12.18 |
| [C++] 'Done' 입력 때까지 총 단어 수 (1) | 2024.12.15 |