#2 영점 교차 사각형.hwp |
본문 소스코드 #include <stdio.h> #include <math.h> #define MAX_NUM 50 // 배열의 최대 크기, g+2의 개수보다는 커야 함 #define SQ(X) ((X)*(X)) // 기본 제곱함수 #define e 0.01f // 오차값 float f(float x, float y); // 기본 함수 void Recur(float x, float y, float g, float d); // 재귀함수 float f(float x, float y) // 대상함수 return (SQ(x-1.0f) + SQ(y-1.0f) -1.0f) ; void Recur(float x, float y, float g, float d) int i, j, l MAX_NUM MAX_NUM = 0, ; //배열을0으로초기화 float c, a MAX_NUM MAX_NUM = 0, ; //배열을0으로초기화 c = d / g; for(i = 1; i <= g+1; i++) for(j = 1; j <= g+1; j++) a i j = f(x+c*(i-1.0f), y+c*(j-1.0f)); l i j = 0; for(i = 1; i <= g+1; i++) for(j = 1; j <= g+1; j++) if(a i j 0.0f) l i j = l i j-1 = l i-1 j = l i-1 j-1 = 1; else if(a i j *a i+1 j < 0.0f) l i j = l i j-1 = 1; else if(a i j *a i j+1 < 0.0f) l i j = l i-1 j = 1; if(c < e) printf( %.6f\t%.6f\t\n , x, y); return; for(i = 1; i <= g+1; i++) for(j = 1; j <= g+1; j++) if(l i j 1) Recur(x+c*(i-1.0f), y+c*(j-1.0f), g, c); void main(void) float x, y, g, d; x = 0.0f; // x의 시작 위치 y = 0.0f; // x의 시작 위치 g = 5.0f; // 간격(grid)의 갯수 d = 2.0f; // d is the dimension printf( (x, y) = (%.4f, %.4f)\n , x, y); printf( g = %.4f\n , g); printf( d = %.4f\n , d); printf( x\t\ty\t\n ); Recur(x, y, g, d); 실행화면 - (0, 0)부터 구간 검색, g = 5, d = 2, e = 0.01 하고 싶은 말 좀 더 업그레이드하여 자료를 보완하여, 과제물을 꼼꼼하게 정성을 들어 작성했습니다. 위 자료 요약정리 잘되어 있으니 잘 참고하시어 학업에 나날이 발전이 있기를 기원합니다 ^^ 구입자 분의 앞날에 항상 무궁한 발전과 행복과 행운이 깃들기를 홧팅 키워드 위치, 으로, 함수, 배열을으로초기화, 배열을, 초기화 |
2019년 1월 31일 목요일
#2 영점 교차 사각형
#2 영점 교차 사각형
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기