반응형
std::cin으로 복소수 문자열을 입력받은 경우 complex 변수에 넣어주는 부분이 필요해서 해당부분만 작성함.
아래와 같이 cin으로 입력받은 결과가 s라는 string형 변수에 저장된 경우 z라는 복소수 변수로 넣을 수 있음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
#include <cmath>
#include <fstream>
#include <string>
#include <iomanip>
#include <time.h>
#include <ostream>
#include <complex>
using namespace std;
int main()
{
complex<double> jj = complex<double>(0.0, 1.0);
complex<double> z;
double real, imag;
basic_string<char>::size_type indexCh1, indexCh2;
static const basic_string<char>::size_type npos = -1;
string s = "-1.345 - j 8.123";
s.erase(remove(s.begin(), s.end(), ' '), s.end()); // 공백제거
indexCh1 = s.find_first_of("j"); // 복소수 기호 위치
indexCh2 = s.find_first_of("-", 1); // - 부호가 있는지 찾기
if (indexCh1 != npos)
{
real = stod(s.substr(0, indexCh1 - 1).c_str()); // j 앞까지 real로 저장
imag = stod(s.substr(indexCh1+1, s.length() - indexCh1).c_str()); //j 뒤부터 imag로 저장
if (indexCh2 != npos) imag *= -1; //j 앞에 -가 붙었으면 imag 값 - 처리
}
else{
real = stod(s);
imag = 0.0;
}
z = real + jj*imag;
cout << z << endl;
return 0;
}
|
cs |
반응형
'Major > Programming' 카테고리의 다른 글
Adaptive Simpson's Method (Adaptive Integral) (0) | 2022.08.23 |
---|---|
MATLAB Figure 파일에서 데이터 추출하기 (0) | 2022.06.22 |
Epochs, Mini-Batch (Batch Size), Iterations (0) | 2020.09.12 |
Pretrained CNNs Download for MATLAB (0) | 2020.09.08 |
CNN (Convolutional Neural Network)의 각 Layer의 동작/역할 (0) | 2020.08.26 |
댓글