소스에 대한 질문입니다
앨런
하다 하다 너무 안되서 질문드립니다. 소스는
#include stdio.h
void Show(int (*num)[10],int n)
{
int i,j;
for(i=0;in;i++)
{
for(j=0;jn;j++)
{
printf(%3d ,num[i][j]);
}
puts();
}
}
void Set(int n)
{
int num[10][10]={0};
int i,j=1,k,l;
if(n%2==0)
{
l=n/2;
}
if(n%2!=0)
{
l=n/2;
l++;
}
for(k=0;kl;k++)
{
for(i=k;in;i++)
{
num[k][i]=j;
j++;
}
for(i=k+1;in;i++)
{
num[i][n-(k+1)]=j;
j++;
}
for(i=k+1;in;i++)
{
num[n-(k+1)][n-i]=j;
j++;
}
for(i=k+1;in;i++)
{
num[n-i][k]=j;
j++;
}
}
Show(num,n);
}
void main()
{
int Input;
fputs(숫자를 입력하시오 : ,stdout);
scanf(%d,&Input);
Set(Input);
}
입니다ㅡㅜ
결과값이
숫자를 입력하시오 : 4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
이런식으로 달팽이 모양이 되게 나와야 하는건데ㅡㅜ
분명히 for문이 전체적으로 잘못된것 같은데,
이런 복잡한것은 어떻게 해야 할까요...
알고리즘을 그려도 파악하기가 힘드네요...