2013년 10월 26일 토요일

C언어-파스칼의삼각형(공백)

지난번엔 파스칼의삼각형을 공백을 넣지않고
짜보았다.
▲ 저번에짯던 파스칼의 삼각형


이번엔 위삼각형을 만들어보자.

#include <stdio.h>

void main (){

int tr[100][100]={0}, h, i, j;
scanf("%d", &h);
tr[1][h]=1; //맨위 꼭짓점의 숫자 가운대로 설정
for(i=2;i<=h;i++)
{
for(j=1;j<=h*2;j++){ //j==1 tr[1][h]가 1이기때문 0일때부터하나하나대입
tr[i][j]=tr[i-1][j-1]+tr[i-1][j+1];//j-1은 위층의왼쪽 j+1은 위층의 오른쪽을의미함 공백이 있기때문에필요하다
}
}


for(i=1;i<=h;i++) //출력의 j==1 맨윗줄(1)도출력해야하기때문
{
for(j=1;j<=h*2;j++){
if(tr[i][j]==0)
printf(" ");
else
printf("%d", tr[i][j]);
}
printf("\n");
}
}

저번소스에서 살짝수정을한것이다.
저번소스와 비교하면서
주석을 읽어보면 공백을 넣는원리를 알수있다.

댓글 없음:

댓글 쓰기