U E D R , A S I H C RSS

파스칼삼�형/허아�

소 �

05/7/11
역시 �시��게 코드를 짰다 ㅠ
다르게 짤 ��중..
처�� ��터 �러가 나서, 혼났다 ㅠ

í—‰ !! í–‰, ì—´ì—� 해당하는 숫ìž�ë§Œ ìœë ¥í•˜ëŠ” 것ì�´ì—ˆë‹¤.
ver.2 만들어야겠다.

ver.3 파스칼삼�형 코딩한다니까. 보창오빠가 �려가는 �로 "재귀함수로 짜면 �지 않�" 고 했� �� ��나서
짜봤다. 메모리 낭비없� 깔�하긴 한�, 제대로 짠건지 모르겠다. 재귀함수는 어쩔 � 헷갈린다.

소 스

ver.1 - 파스칼 삼ê°�형 ì „ì²´ ìœë ¥

~cpp 
#include <stdio.h>

void pascal_tri(int pascaltri[][100], int row);
void main()
{
	int pascaltri[100][100]; 
	int row;
	printf("행� 입력 :");
	scanf("%d", &row);
	pascal_tri(pascaltri, row);
}

void pascal_tri(int pascaltri[][100], int row)
{
	int i,j;
	for(i = 0; i < row; i++)
	{
		pascaltri[i][0] = 1;
		pascaltri[i][i] = 1;
	}
	for(i = 2; i < row; i++)
	{
		for(j = 1; j < i; j++)
		{
			pascaltri[i][j] = pascaltri[i-1][j-1] + pascaltri[i-1][j];
		}
	}
	for(i = 0; i < row; i++)// print
	{
		for(j = row; j > i; j--)
		{
			printf(" ");
		}
		for(j = 0; j <= i; j++)
		{
			printf("%d ", pascaltri[i][j]);
		}
		printf("n");
	}
}

ver.2 행,열� 해당하는 숫�

~cpp 
#include <stdio.h>

void pascal_tri(int pascaltri[][100], int row, int col);
void main()
{
	int pascaltri[100][100]; // � 부분� 어떻게 � 효율�으로 바꿀 것�가..->ver.3
	int row, col;
	while(1)
	{
		printf("찾고� 하는 열, 행� 차례로 입력 :");
		scanf("%d %d", &col, &row);
		if(col >= row){
			break;
		}else{
			printf("다시 입력해 주세요...n");
		}
	}
	pascal_tri(pascaltri, col, row);
}

void pascal_tri(int pascaltri[][100], int col, int row)
{
	int i,j;
	for(i = 0; i < 100; i++)
	{
		pascaltri[i][0] = 1;
		pascaltri[i][i] = 1;
	}
	for(i = 2; i < 100; i++)
	{
		for(j = 1; j < i; j++)
		{
			pascaltri[i][j] = pascaltri[i-1][j-1] + pascaltri[i-1][j]; // � for 문들 역시 ver.3�서 � 나아져야 함.
		}
	}
	printf("%dì—´ %dí–‰ = %dn", col, row, pascaltri[col-1][row-1]);
}

ver.3 - � 나� 소스

~cpp 
#include <stdio.h>

int pascal_tri(int row, int col);
void main()
{
	int row, col, result;
	while(1)
	{
		printf("찾고� 하는 열, 행� 차례로 입력 :");
		scanf("%d %d", &col, &row);
		if(col >= row){
			break;
		}else{
			printf("다시 입력해 주세요...n");
		}
	}
	result = pascal_tri(col, row);
	printf("%dì—´ %dí–‰ = %dn", col, row, result);
}

int pascal_tri(int col, int row)
{
	if(row == 1 || col == row){
		return 1;
	}else{
		 return pascal_tri(col-1, row-1) + pascal_tri(col-1, row);
	}
}

나한테 할 �


입력받아서 ��할당� 해보는게 어때.. 저렇게 하면 메모리 낭비 �는 초과가 �길듯..
그리고 문제가 '파스칼 삼ê°�형ì�„ ìœë ¥í•˜ì‹œì˜¤.' ê°€ 아니었ë�˜ê±° ê°™ì�€ë�°?? 다시 보는게..
ㅎㅎ 난 잠시 겜방� 온거니 다시 �하러 가야 �서 �야.. �세히는 못보겠어.
그러니 �세한 사항� 필요할때 '�기야'�게 물어보�구^^ - 조현태
지금 나� 머리는 터질 듯 아프단다. ^^; ��터 때문� �여갖고-.ㅠ 소스를 아예 바꾸는 � 공사를 치뤘기 때문� ㅠ
좀 있다 ��해보마 ㅋㅋ 그리고 소� �어주길.. 문제 잘못 푼것� 나중� 알았단다 ㅋ--아�
ㅎㅎㅎ 소� 위� 세줄� �고 기억했는�, 밑� �줄� 못봤어.ㅎㅎ
2차 ��� 배열� ��터로 넘기는건 고��� �야.^^
고�했겠네..^^ ��터..ㅎㅎㅎ 그래� �거운 하루. �거운 코딩 ��구.. 진짜 �하러 가야겠다 뱌뱌~~ - 조현태
엇~ 아�� 누나� 처�엔 �시�으로 짜셨네요~^^;; 후후.. 재귀함수로 �렇게 짤수있는거군요 센스 =ㅅ=b - 김준�

----
LittleAOI 파스칼삼�형
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:23
Processing time 0.0048 sec