Saturday, February 17, 2007
C언어 VC++] 복소수 사칙연산; 덧셈, 뺄셈, 곱셈, 나눗셈; Complex Number
비주얼C++에서, C로는 복소수 계산이 잘 안되어서, C++로 만들어 보았습니다.
그렇지만 복소수 계산은 파이썬(Python)이 가장 이상적이었습니다. 참고: ▶▶ Python/파이썬] 복소수 사칙연산; 덧셈, 뺄셈, 곱셈, 나눗셈; Complex Number Formula
아래 예제에, 실수부/허수부 그리고 복소수의 절대값 구하기도 포함되어 있습니다.
소스 파일명: example.cpp
(컴파일러에 /EHsc 라는 옵션을 붙여서 컴파일해야 합니다.)
컴파일 및 실행 결과 화면:
일반 정수, 실수 사칙연산: ▶▶ C언어 사칙연산, 덧셈, 뺄셈, 곱셈, 나눗셈; Multiply Divide
그렇지만 복소수 계산은 파이썬(Python)이 가장 이상적이었습니다. 참고: ▶▶ Python/파이썬] 복소수 사칙연산; 덧셈, 뺄셈, 곱셈, 나눗셈; Complex Number Formula
아래 예제에, 실수부/허수부 그리고 복소수의 절대값 구하기도 포함되어 있습니다.
C++에서, 복소수 더하기, 빼기, 곱하기, 나누기 예제
소스 파일명: example.cpp
(컴파일러에 /EHsc 라는 옵션을 붙여서 컴파일해야 합니다.)
// compile with: /EHsc
#include <iostream>
#include <complex>
using namespace std;
int main(void) {
complex <double> a (8.0, 3.0); // 복소수 8+3i
complex <double> b (5.0, 2.0); // 복소수 5+2i
complex <double> result;
// 복소수 a 출력
cout << a << endl;
// 출력 결과: (8,3)
// 복소수 b 출력
cout << b << endl;
// 출력 결과: (5,2)
// 복소수의 더하기
result = a + b;
cout << result << endl;
// 출력 결과: (13,5)
// 13+5i 와 같음
// 복소수의 빼기
result = a - b;
cout << result << endl;
// 출력 결과: (3,1)
// 3+1i 와 같음
// 복소수의 곱하기
result = a * b;
cout << result << endl;
// 출력 결과: (34,31)
// 34+31i 와 같음
// 복소수의 나누기
result = a / b;
cout << result << endl;
// 출력 결과: (1.58621,-0.0344828)
// 1.58621-0.0344828i 와 같음
double d;
// 복소수 a의 실수부 구하기
d = real(a);
cout << d << endl;
// 출력 결과: 8
// 복소수 a의 허수부 구하기
d = imag(a);
cout << d << endl;
// 출력 결과: 3
// 복소수 a의 절대값 구하기
d = abs(a);
cout << d << endl;
// 출력 결과: 8.544
return 0;
}
#include <iostream>
#include <complex>
using namespace std;
int main(void) {
complex <double> a (8.0, 3.0); // 복소수 8+3i
complex <double> b (5.0, 2.0); // 복소수 5+2i
complex <double> result;
// 복소수 a 출력
cout << a << endl;
// 출력 결과: (8,3)
// 복소수 b 출력
cout << b << endl;
// 출력 결과: (5,2)
// 복소수의 더하기
result = a + b;
cout << result << endl;
// 출력 결과: (13,5)
// 13+5i 와 같음
// 복소수의 빼기
result = a - b;
cout << result << endl;
// 출력 결과: (3,1)
// 3+1i 와 같음
// 복소수의 곱하기
result = a * b;
cout << result << endl;
// 출력 결과: (34,31)
// 34+31i 와 같음
// 복소수의 나누기
result = a / b;
cout << result << endl;
// 출력 결과: (1.58621,-0.0344828)
// 1.58621-0.0344828i 와 같음
double d;
// 복소수 a의 실수부 구하기
d = real(a);
cout << d << endl;
// 출력 결과: 8
// 복소수 a의 허수부 구하기
d = imag(a);
cout << d << endl;
// 출력 결과: 3
// 복소수 a의 절대값 구하기
d = abs(a);
cout << d << endl;
// 출력 결과: 8.544
return 0;
}
컴파일 및 실행 결과 화면:
D:\Z>cl /EHsc example.cpp && example.exe
example.cpp
(8,3)
(5,2)
(13,5)
(3,1)
(34,31)
(1.58621,-0.0344828)
8
3
8.544
D:\Z>
example.cpp
(8,3)
(5,2)
(13,5)
(3,1)
(34,31)
(1.58621,-0.0344828)
8
3
8.544
D:\Z>
일반 정수, 실수 사칙연산: ▶▶ C언어 사칙연산, 덧셈, 뺄셈, 곱셈, 나눗셈; Multiply Divide
tag: cpp
C언어 | C/C++ (Visual C++)
<< Home