#include <stdio.h>
#define ROW 5
#define COL 5
int main(int argc, char *argv[])
{
#if 0
int data[ROW][COL];
int i,j; // 첨자제어변수
int step = 1;
int number = 0;
int loop_count = 1;
//--------------------------------------
// 실행문
while( number < ROW * COL )
{
if( step == 1)
{
i = 0;
for( j = loop_count-1; j >= 0; j--)
{
number++;
data[i][j] = number;
i++;
}
loop_count += step;
if ( loop_count > ROW )
{
step = -1;
loop_count -= 2;
}
}
else
{
i = ROW - loop_count;
for( j = COL-1; j >= COL-loop_count; j--)
{
number++;
data[i][j] = number;
i++;
}
loop_count += step;
}
}
#endif
#if 1
int data[ROW][COL];
int i,j; // 첨자제어변수
int k;
int number = 1;
i = 0;
for( k = 1; k <= ROW; k++)
{
j = i;
for( i = 0; i <= k-1; i++)
{
data[i][j] = number++;
j--;
}
}
for( i = 1; i <= ROW-1; i++)
{
k = i;
for(j=ROW-1; j >= i; j--)
{
data[k][j] = number++;
k++;
}
}
for( i = 0; i < ROW; i++)
{
for( j = 0; j < COL; j++)
{
printf("%5d", data[i][j]);
}
printf("\n");
}
#endif
return 0;
}
//---------------------------------------또다른 방법
#include <stdio.h>
void arraySquare(void);
int main(int argc, const char *argv[])
{
arraySquare();
return 0;
}
#define ROW 5
#define COL ROW
void arraySquare(void){
//∫غˆ º±æ
int arr[ROW][COL]={0};
int i,j;
int count=0;
int sum;
int input=0;
sum=ROW+COL-2;
while(count<=sum)
{
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
{
if((i+j)==count)
{
arr[i][j]=input;
input++;
}
}
}
count++;
}
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
{
printf("%4d", arr[i][j]+1);
}
printf("\n");
}
}
'C Language' 카테고리의 다른 글
shellsort (0) | 2012.03.06 |
---|---|
insertsort (0) | 2012.03.06 |
magicsquare (0) | 2012.03.06 |
snail (0) | 2012.03.06 |
scanf_s를 쓰라고 권고하는 visual studio 등등 (0) | 2012.03.02 |