제곱근 구하는 함수 질문
권시크
/*
#include stdio.h
struct point{
int x;
int y;
}p1, p2;double guri(int x1, int y1, int x2, int y2);int main(){
double gl; puts(p1의 좌표를 입력하세요\n);
scanf(%d%d, &p1.x, &p1.y); puts(p2의 좌표를 입력하세요\n);
scanf(%d%d, &p2.x, &p2.y);
gl=guri(p1.x, p1.y, p2.x, p2.y); printf(두 점사이의 거리는 %.2f입니다., gl);
return 0;
}double guri(int x1, int y1, int x2, int y2){ double z; (z*z)=((x1-x2)*(x1-x2) +(y1-y2)*(y1-y2));
return z; //이 부분에서 왜 에러가 날까요? z의 제곱의 값을 알면 컴퓨터가 알아서 z의 값을 알 수 있어야 하는거 아닌가요?}
-
안녕나야
루트를 sqrt를 쓰지않고 찾으려면 역시 for문이 장땡이져 ㅋ
-
민들레
아. 알겠다. 컴퓨터는 사람이 아니니까요.. 알거 같음.
-
앨런
그게아니고 제곱근을 구하려고 하는데요. z의 제곱의 값에 우측항의 연산값을 대입하잖아요.
그러면 return z; 하면 z(제곱근값)을 알수 있을것 같은데 안되니까요. -
한울
역시 그냥 sqrt함수를 이용하는게 나을거같아요. 생각해봐도 머리가 복잡해져서 안되겠네요
-
벼리
Aㅏ..
수학이 아니니까 이런거라고 생각했는데 오히려 수학에 말렸네여 zzz
.. 어떻게구하지 ................. -
미라
아! 자세히 보니까 우측에 /z 가 있네요 ㅋㅋ 그럴듯하다.
-
연하얀
Z가 제대로된값울가지고있지않운대 그게 될까요?수학아닙니다 ㅡㅡ
-
희선
= 연산자는 우항에 있는 값을 좌항에 대입하겠다는 겁니다.
z=( ((x1-x2)*(x1-x2) +(y1-y2)*(y1-y2)) / z );
로 수정하시면 잘 될겁니다.