정보처리기사 배열 대각선 채우기 입니다.

#include <stdio.h>

//행, 열의 크기를 지정, 10미만일때 보기 편함.
#define MAX 10

int main()
{
	int arr[MAX][MAX]={0};
	int i, j, k(0);
	int spin;

	//대각선으로 대입
	for(spin=2 ; spin<=(MAX*2) ; spin++ )
	{
		for(i=1 ; i<=MAX ; i++)
		{
			//대각선 대입 규칙
			j = spin-i;
		
			//j값이 특정 범위 내일 때만 대입
			if(j <= MAX && j > 0)
			{
				++k;

				//각각 -1하는 건 spin과 i의 초기값이 2와 1이어서( 1, 1=2-1 )
				arr[i-1][j-1] = k;
			}
		}//for i
	}//for spin

	⁄⁄출력
	for(i=0 ; i<MAX ; i++)
	{
		for(j=0 ; j<MAX ; j++)
		{
			printf("%2d ", arr[i][j]);
		}
		printf("\n");
	}

	return 0;
}


+ Recent posts