@ㅅ@/
2008.12.09 23:11
#include <stdio.h>
int main(void)
{
int i=0, j=0;
int num=1;
int size;
double temp;
int a4[4][4]= {0};
//int a5[5][5]= {0};
printf("숫자 입력:");
scanf("%d", &size);
temp = (double)size + 0.5;
while(j<(int)temp)
{
a4[i][j] = num++;
j++;
}
while(i<(int)temp)
{
a4[i][j] = num++;
i++;
}
/*
for( ;j<(int)temp;j++)
a4[i][j] = num++;
for( ;i<(int)temp;i++)
a4[i][j] = num++;
*/
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%3d",a4[i][j]);
printf("n");
}
return 0;
}
아래 주석처리된 for문이나 위의 while문이나 같은건데요.
위에서 j를 증가시키고 그 j값을 아래 반복문에서 그대로 쓸려고 했는데
실제 출력해보니 j가 다시 0으로 돌아와서 두번째 반복문에서 a4[0][0],a4[1][0],a4[2][0],a4[3][0]으로 가네요.
생각했던건 위 반복문에서 j가 3이 되고, 3값을 가지고 a4[0][3],a4[1][3],a4[2][3],a4[3][3] 으로 되는건데..
i,j가 초기화 안되고 계속 증감된 값을 가지는 방법을 가르켜 주세요 -ㅅ-/
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9