qor9928   6년 전

잘찍혀나오는데 왜틀렸다고나올까요...별찍기

돌리면 잘찍혀나오는데 제출하면 채점하다틀리게나오네요 고수님들도와주세요

djm03178   6년 전

애초에 제대로 출력이 되지도 않습니다. 마지막 줄이 이상하게 나옵니다. 매 줄마다 끝에 널 문자도 하나씩 찍히고 있습니다. 32번째 줄을 다음과 같이 바꿔야 됩니다.

qor9928   6년 전

#include

char arr[3072][6044];
void star(int n, int x, int y) {
if (n == 3) {
arr[x][y] = '*';
arr[x + 1][y - 1] = '*';
arr[x + 1][y + 1] = '*';
arr[x + 2][y - 2] = '*';
arr[x + 2][y - 1] = '*';
arr[x + 2][y ] = '*';
arr[x + 2][y +2] = '*';
arr[x + 2][y + 1] = '*';
return;
}
star(n / 2, x, y);
star(n / 2, x +n/2, y - n / 2);
star(n / 2, x + n / 2, y + n / 2);
}
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2*n; j++) {
if (j == 2 * n - 1) arr[i][j] = '\0';
else arr[i][j] = ' ';
}
}
star(n, 0, n - 1);

for (int i = 0; i < n; i++) {
for (int j = 0; j < 2*n-1; j++) {
printf("%c", arr[i][j]);
}
printf("\n");
}
return 0;
}

위에소는 수정중 잘못올렸고 말씀하신대로 이렇게 했는데도 틀렸다고나오네요

djm03178   6년 전

3072 * 2는 뭘까요?

댓글을 작성하려면 로그인해야 합니다.