ㅠㅠ 또 질문들거왔어여
미련곰팅이
질문 제목 : 여러개의 점을 입력받아 볼록다각형만드는 프로그래밍입니다 ㅠㅠㅠㅠ
오류안뜨면 여기서 함수로 옮기려고 했는데 여기서 계속 오류 뜨네요 ㅜㅜㅜ
혹시 오류가 왜 뜨는건지 알려주실수 있으신가요 ㅠㅠ
그리고 함수형으로 바꿀 때 main에 있는 주소를 그대로 가져가서 바꾸고 싶으면 함수에서
*함수를 입력받아야하는게 맞는건가요
도와주세여 ㅠㅠㅠㅠㅠㅠ
질문 요약 :오류가왜나는지, 그리고 함수형으로 바꿀때 안에 내용자체를 바꿀 때 어떻게 해야하는건지질문 내용 :
네...보시다시피 노가다예요....
하지만 계속 반복되는 부분이있으니 제발봐주세여 ㅠㅠㅠㅠㅠ#includestdio.h
#define SIZE 100
main()
{
int point[2][SIZE]={0};
int polygon[2][SIZE]={0};
int middle[2];
int i,j,k,m,l=0;
printf(점의 개수는 %d개 이하,3개 이상으로 하시오(취소 할 때에는 -100,-100 입력):,SIZE);
for(i=0;iSIZE;i++)
{
scanf(%d,%d,&point[0][i],&point[1][i]);
if(point[0][i]==-100||point[1][i]==-100)
break;
}
//x축 최소, y축 최소
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])// y축 최소
{
polygon[0][0]=point[0][i];
polygon[1][0]=point[1][i];
}
if(point[0][i]point[0][i+1])// x 축 최소
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//첫번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][j]+polygon[0][99])/2;
middle[1]=(polygon[1][j]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+1]=point[0][i];
polygon[1][l+1]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+2;//ㅣ=1 m=3
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
//x축 최소, y축 최대
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])
{
polygon[0][0]=point[0][i];
polygon[1][0]=point[1][i];
}
}
//두번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+3]=point[0][i];
polygon[1][l+3]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+4;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
//y축 최대, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[0][i]point[0][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//세번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+5]=point[0][i];
polygon[1][l+5]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+6;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];//y축 최소, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//네번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+7]=point[0][i];
polygon[1][l+7]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+8;
polygon[0][m]=polygon[0][99];
polygon[1][m]=n[1][m]=polygon[1][99];
for(i=0;im+1;i++)
{
printf(%d,%d,polygon[0][i],polygon[1][i]);
}
}
polygon[1][l+3]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+4;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
//y축 최대, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[0][i]point[0][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//세번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+5]=point[0][i];
polygon[1][l+5]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+6;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];//y축 최소, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//네번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+7]=point[0][i];
polygon[1][l+7]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+8;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
for(i=0;im+1;i++)
{
printf(%d,%dpolygon[0][i],polygon[1][i]);
}
}
#includestdio.h
#define SIZE 100
main()
{
int point[2][SIZE]={0};
int polygon[2][SIZE]={0};
int middle[2];
int i,j,k,l,m=0;
printf(점의 개수는 %d개 이하,3개 이상으로 하시오(취소 할 때에는 -100,-100 입력):,SIZE);
for(i=0;iSIZE;i++)
{
scanf(%d,%d,&point[0][i],&point[1][i]);
if(point[0][i]==-100||point[1][i]==-100)
break;
}
//x축 최소, y축 최소
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])// y축 최소
{
polygon[0][0]=point[0][i];
polygon[1][0]=point[1][i];
}
if(point[0][i]point[0][i+1])// x 축 최소
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//첫번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][j]+polygon[0][99])/2;
middle[1]=(polygon[1][j]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+1]=point[0][i];
polygon[1][l+1]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+2;//ㅣ=1 m=3
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
//x축 최소, y축 최대
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])
{
polygon[0][0]=point[0][i];
polygon[1][0]=point[1][i];
}
}
//두번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+3]=point[0][i];
polygon[1][l+3]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+4;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
//y축 최대, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[0][i]point[0][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//세번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+5]=point[0][i];
polygon[1][l+5]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+6;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];//y축 최소, x축 최대
for(i=0;iSIZE-1;i++)
{
if(point[1][i]point[1][i+1])// x 축 최대
{
polygon[0][99]=point[0][i];
polygon[1][99]=point[1][i];
}
}
//네번째
for(j=0;jSIZE;j++)
{
middle[0]=(polygon[0][m]+polygon[0][99])/2;
middle[1]=(polygon[1][m]+polygon[1][99])/2;
for(i=0;iSIZE;i++)
{
if(point[0][i]middle[0]||point [1][i]middle[1])
{
polygon[0][l+7]=point[0][i];
polygon[1][l+7]=point[1][i];
middle[0]=(polygon[0][i]+polygon[0][i+1]);
middle[1]=(polygon[1][i]+polygon[1][i+1]);
l++;
}
}
}
m=l+8;
polygon[0][m]=polygon[0][99];
polygon[1][m]=polygon[1][99];
for(i=0;im+1;i++)
{
printf(%d,%d,polygon[0][i],polygon[1][i]);
}
}