바보같아 보이는(?) 질문이지만 봐주세요^^;
꽃은별
출력 결과는
1 2 3
4 5 6
7 9 3
뭐 이런식으로 정사각형으로 나오게 하려고 했는데,
그냥 123456793, 이렇게 일렬로 나옵니다..
사실 맨 마지막의 printf 전에 } 이게 하나 있거든요?;; (소스코드에 보니까..)
근데 에러가 나서 } 를 지웠습니다..
즉 원래 책에 있는 소스코드는 아래처럼 되어 있는데,
for(i = 0; i size; i++)
for(j = 0; j size; j++)
printf(%d, square[i][j]);
printf(\n);
}
printf(\n\n);
}
저는 짝이 안 맞는거 같아서 이렇게 했어요
for(i = 0; i size; i++)
for(j = 0; j size; j++)
printf(%d, square[i][j]);
printf(\n);
printf(\n\n);
}
(왠지 { } 때문에 그러는 느낌이 들어서 물어봅니다^^;)
{ } 짝이 다 맞는거 같은데, 어디 잘못된건가요?
눈 크게 뜨고 봤지만 제 생각엔 그 } 를 지우는게 옳은거 같은데,
어떻게 해야할지 알려주세요ㅜ_ㅜ아래는 원래 소스 코드입니다~
#include stdio.h
#define MAX_SIZE 15
void main(void)
{
static int square[MAX_SIZE][MAX_SIZE];
int i, j, row, column;
int count;
int size;
printf(Enter the size of the square : );
scanf(%d, &size);
if(size 1 || size MAX_SIZE +1) {
fprintf(stderr, Error! Size is out of range\n);
exit(1);
}
if(!(size % 2)) {
fprintf(stderr, Error! Size is even\n);
exit(1);
}
for(i = 0; j size; j++)
for(j = 0; j size; j++)
square[i][j] = 0;
square[0][(size-1) /2] = 1;
i = 0;
j = (size - 1) /2;
for(count = 2; count = size * size; count++) {
row = (i - 1 0) ? (size - 1) : (i - 1);
column = (j - 1 0) ? (size - 1) : (j - 1);
if(square[row][column])
i = (++i) % size;
else {
i = row;
j = (j - 1 0) ? (size - 1) : --j;
}
square[i][j] = count;
}
printf(Magic Square of size %d: \n\n, size);
for(i = 0; i size; i++)
for(j = 0; j size; j++)
printf(%d, square[i][j]);
printf(\n);
}
printf(\n\n);
}
-
겨슬
덕분에 어디에 넣어야 할지 찾았어요! 감사합니다^_^
-
다참
책에서 {하나가 빠진 모양입니다..