/**********************************************************************************
* *
* 제 목 : 지그재그 알고리즘 *
* 작성자 : 배기만 *
* 날 짜 : 2009. 7. 23 *
* 방 법 : 배열의 최대가 5일때 *
* 1 3 4 10 11 *
* 2 5 9 12 19 *
* 6 8 13 18 20 *
* 7 14 17 21 24 *
* 15 16 22 23 25 *
* 이런식으로 나타나도록 함 *
* *
**********************************************************************************/
#include<stdio.h>
#define MAX 5
void main()
{
int array[MAX][MAX] = {0,}; // 지그재그 값 넣는 배열
int max_num = 0; // 초기값 지정
int count = 1; // 지그재그 값
int temp = 0; // 배열 값 바꾸기
int num = 0; // 각 반복에서의 최대값
int i = 0;
int j = 0;
int count_max = MAX * 2; // 총 반복 횟수
while(i < count_max)
{
j = max_num; // 반복의 초기값 지정
while(j <= num)
{
if((i % 2) == 0)
{
array[j][num - temp] = count;
}
else
{
array[num - temp][j] = count;
}
count++;
temp++;
j++;
}
i++;
temp = 0;
if(i >= MAX)
{
num = MAX - 1;
max_num++;
}
else
{
num++;
}
}
for(i = 0; i < MAX; i++)
{
for(j = 0; j < MAX; j++)
{
printf("%2d ", array[i][j]);
}
printf("\n");
}
}
'Algorithm' 카테고리의 다른 글
별삼각형 알고리즘(반복문)2 (0) | 2009.07.27 |
---|---|
별삼각형 알고리즘(반복문)1 (0) | 2009.07.27 |
골뱅이 알고리즘(반복문, 배열) (0) | 2009.07.23 |
빗살무늬 알고리즘(반복문, 배열) (0) | 2009.07.22 |
마방진 알고리즘 (0) | 2009.07.01 |