mint665   4년 전

1536까지는 잘 출력되다가 3072를 입력하면 런타임 에러가 나네요.

1700을 입력해 봤는데 1700도 런타임 에러가 나요ㅠㅠ

#include
char arr[4000][8000] = {};

void StarMaker(int n, int num){

for(int i = 0; i < num; i++){
for(int j = 0; j < num*2-1-i*2; j++)
for(int h = 0; h < n/num-1; h++){
for(int k = 0; k < n/num-1; k++)
arr[num+num*2*h+i][num+k*num*2+j+i] = 1;
}
}

if(num < n/2){
num *= 2;
StarMaker(n, num);
}

}

int main(void){
int n, num = 3;

scanf("%d", &n);

for(int i = 0; i < n-1; i++){
for(int j = 0; j < n-i-1; j++)
arr[i][j] = 1;

for(int j = 2*n-2; j > n+i-1; j--)
arr[i][j] = 1;
}

for(int i = 0; i < n; i++){
for(int j = 0; j < 2*n-1; j++){
if(i%3 == 1 && j%3 == 2)
arr[i][j] = 1;
}
}

StarMaker(n, num);

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

}

joy684   4년 전

char arr[4000][8000] <<<< 을

char arr[10000][10000] <<<< 로 바꿔해보니 됩니다.

mint665   4년 전

감사합니다.(ノД`)・゜・。


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