[C++] 두 점 사이의 거리 구하기 pow(), sqrt()
[C++] 두 점 사이의 거리 구하기 pow(), sqrt()
두 점사이의 거리를 구해보자.
하나의 점은 구조체로 x, y 좌표를 초기화한다.
두 점 사이의 거리는 피타고라스의 정리를 사용하여 구할 수 있다.
거리 =
이 계산을 하기 위해서는 제곱과 제곱근을 계산해야 한다.
#include<cmath> 를 사용하여, pow() 와 sqrt() 함수를 사용할 수 있다.
pow(a,b) : a의 b승
sqrt(x) : x의 제곱근
따라서 아래와 같이 Distance 함수를 작성할 수 있다.
#include <iostream> #include <cmath> using namespace std; struct Point{ int x, y; }; double Distance(const Point& p1, const Point& p2); int main(){ // 두 점을 만든다. Point a = { 0, 0 }; Point b = { 3, 4 }; // 두 점의 거리를 구한다. double dist_a_b = Distance(a, b); cout << "(" << a.x << ", " << a.y << ") 와 "; cout << "(" << b.x << ", " << b.y << ") 의 거리 = " << dist_a_b << endl; } double Distance(const Point& p1, const Point& p2){ double distance; // 피타고라스의 정리 // pow(x,2) x의 2승, sqrt() 제곱근 distance = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2)); return distance; } |
출처: https://hyeonstorage.tistory.com/299?category=601868 [개발이 하고 싶어요]
'기타 > C++' 카테고리의 다른 글
[C++] 문자열 합치기 strcat(), 문자열 비교 strcmp() (0) | 2019.07.27 |
---|---|
[C++] 문자열 길이 strlen(), 문자열 복사 strcpy() (0) | 2019.07.27 |
[C++] 문자열 뒤집기 예제 (0) | 2019.07.27 |
[C++] 동적 메모리 할당 예제 new delete (0) | 2019.07.27 |
[C++] 10진수를 2진수로 변환 예제 (0) | 2019.07.27 |
[C++] 포인터와 레퍼런스 인자(Parameter)의 비교 (0) | 2019.07.27 |
[C++] 팩토리얼 구하기 예제 (0) | 2019.07.27 |
[C++] 최대공약수, 최소공배수 구하기 예제 (0) | 2019.07.27 |