2019년 1월 31일 목요일

#2 영점 교차 사각형

#2 영점 교차 사각형
#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

하고 싶은 말
좀 더 업그레이드하여 자료를 보완하여,
과제물을 꼼꼼하게 정성을 들어 작성했습니다.

위 자료 요약정리 잘되어 있으니 잘 참고하시어
학업에 나날이 발전이 있기를 기원합니다 ^^
구입자 분의 앞날에 항상 무궁한 발전과 행복과 행운이 깃들기를 홧팅

키워드
위치, 으로, 함수, 배열을으로초기화, 배열을, 초기화

댓글 없음:

댓글 쓰기