본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

[C/C++] 숫자 달팽이

by 회색뿔 2007. 11. 15.

문자 달팽이 출력하기
정수 N을 입력받아 N x N크기의 문자 달팽이를 출력하시오.

Example)

Input
N = 5

OutPut

1

2

3

4

5

16

17

18

19

6

15

24

25

20

7

14

23

22

21

8

13

12

11

10

9





#include <stdio.h>

#define MAX 10

void main()
{
                int nArr[ MAX ][ MAX ];
                int N, cN, nCnt;
                int i, j, x, y;

                scanf( "%d", &N );

                cN = N;
                x = 0;
                y = -1;
                nCnt = 1;

                while( N >= 0 )
                {
                                for( i = 0; i < N; i++ )
                                {
                                                nArr[ x ][ ++y ] = nCnt++;
                                }

                                N--;
                                for( i = 0; i < N; i++ )
                                {
                                                nArr[ ++x ][ y ] = nCnt++;
                                }

                                for( i = 0; i < N; i++ )
                                {
                                                nArr[ x ][ --y ] = nCnt++;
                                }

                                N--;

                                for( i = 0; i < N; i++ )
                                {
                                                nArr[ --x ][ y ] = nCnt++;
                                }
                }

                for( i = 0; i < cN; i++ )
                {
                                for( j = 0; j < cN; j++ )
                                {
                                                printf( "%4d", nArr[ i ][ j ] );
                                }
                                printf( "\n" );
                }
}

'MISCELLANEOUSNESS' 카테고리의 다른 글

알고리즘 문서  (0) 2007.11.25
[Project] PhotoMap Ver. 0.1 BETA  (2) 2007.11.07
for로 마름모 출력하기..  (0) 2007.10.30