안녕 형들아. 나 이거 C++로 코딩할려는데 너무 초급이라서 잘 모르겠는데 도와줄 형 있어? 능력자 있었으면 좋겠다...
#include <iostream>
#include <algorithm>
using namespace std;
int max(double, int);
double R, Rm, sigmar, sigmam, sigma, Mw;
if R < 5
sigmar = 0.54;
if 5 <5 <20
sigmar = 0.54-0.0227(R-5);
if R>20
sigmar = 0.2;
Rm = sqrt(pow(R,2)+pow(9.3,2));
sigma = sqrt(pow(sigmam,2)+pow(sigmar,2));
loga = 2.20 + 0.81*(Mw-6)-1.27*logRm +0.11*max(log(Rm/100),0)-0.0021*Rm
아 이상해 댓글이 안달려...
여기나 남길께lnPHA =~~~이 메인 공식! C++로 max랑 min을 이용하는데
'인수목록이 일치하는 오버로드된 함수 "max"의 인스턴스가 없습니다.라고 떠...
아 그리고 #include <math.h>는 넣었어
저 max를 C++에서 어떻게 사용하면 좋을지가 가장 큰 의문점이야 ㅠㅠㅠㅠㅠ
<cmath> 바부야
일단 수학을 알려주면 어떻게 코딩할지 알려줄께..
max(lnR/100, 0)의 의미가 뭔데?
두 인수 중에 큰 거를 뽑으라는거야? 아니면 lnR/100인 경우에 두 번째 인수값에 의하여 뭔가 결정된다는거니? 지진 거리에 따른 강도 결정하는 뭐 그런거아님 공식이?
https://books.google.co.kr/books?id=ps2aKnJf6TEC&pg=PA80&lpg=PA80&dq=ln+PHA(g)+=+2.20++&source=bl&ots=pWA6oj8EpZ&sig=14LDFK9vxj42__a4dkn4rX5F35k&hl=ko&sa=X&ved=0ahUKEwi57P7s6snOAhXJppQKHepxCAQQ6AEIHDAA#v=onepage&q=ln
PHA(g) = 2.20 +&f=false 여기에 나오는 공식이네
오오!! lnR/100 ~ 0 중에서 가장 큰 값 찾아서 사용하는거!! max 함수를 어떻게 쓸지 모르겟네 ㅠㅠ
음흠 그렇구나. 공식에 의하면 lnR/100은 R이 100이상이어야 양수값을 가지는 거잖아? 따라서 R이 100보다 같거나 작은 경우는 무조건 0이겠지
반면에 R이 100보다 큰 경우는 lnR/100을 쓸테고
cmath에 보면 log함수가 있는데 이 log함수는 자연상수 e를 밑으로 하는 로그거든? 그대로 쓰면 되겠는데
그런데 R은 조건에서 항상 양수인거겠지?
R의 조건은 항상 양수이지만 100 이상인지는 잠시만 내가 확인해볼께!! 고마워고마워 좀만 나 케어해주라... max 인스턴스는 내가 넣은 int max(double, int)가 맞는거야??
간단하게 짜봤음. 근데 니가 원하는게 맞는지 모르겠당
R은 항상 100 이상의 값이 더라!! 벌써 짰어?? 나 메일로 보내주면 한번 돌려보고 보답 꼭한다. 은혜는 갚는 사람임 lsh910815@naver.com
아니 max만 짜봤음 위에 게시글보셈