#include <stdio.h>
// 파스칼 삼각형 생성 함수.
void pascal(int (*p)[100], int size) {
int i, j;
for(i=0;i<size;i+=1) {
p[i][0]=1;
for(j=1;j<i+1;j+=1) {
p[i][j]=p[i-1][j-1]+p[i-1][j];
}
}
}
// 파스칼 삼각형 출력함수.
void printpascal(int (*p)[100], int size) {
int i, j;
for(i=0;i<size;i+=1) {
for(j=0;j<i+1;j+=1) {
printf("%4d ", p[i][j]);
}
printf("\n");
}
}
int main() {
// 이차배열 선언과 함께 0 으로 초기화.
int arr[100][100] = {0,};
int n, k;
// n의 최대값은 99입니다.
printf("n k = ");
scanf("%d%d", &n, &k);
pascal(arr, n+1);
printpascal(arr, n+1);
printf("%dC%d=%d\n", n, k, arr[n][k]);
return 0;
}
===============================================================
#include <stdio.h>
int main() {
// 이차배열 선언과 함께 0 으로 초기화.
FILE *fout;
int p[25][25] = {0,};
int i, j, n;
// n의 최대값은 23입니다.
printf("n값은 = ? ");
scanf("%d", &n);
for(i=0;i<n+1;i+=1) {
p[i][0]=1;
for(j=1;j<i+1;j+=1) {
p[i][j]=p[i-1][j-1]+p[i-1][j];
}
}
fout=fopen("pascal.txt", "w");
if(fout==NULL) {
printf("파일을 쓸 수 없습니다.");
return 1;
}
for(i=0;i<n+1;i+=1) {
for(j=0;j<n-i;j+=1) {
fprintf(fout, " ");
}
for(j=0;j<i+1;j+=1) {
fprintf(fout, "%4d", p[i][j]);
}
fprintf(fout, "\n");
}
fclose(fout);
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
하노이탑 이해하기 (0) | 2014.03.27 |
---|---|
큰 정수의 제곱근의 정수값 구하기(정수연산 만으로) (0) | 2014.03.24 |
vc++ 2013 scanf오류 (0) | 2014.03.17 |
확률 시뮬레이터 (연속해서 정해진 수만큼 성공할 확률) (0) | 2014.03.17 |
scanf("%d ", &x); 에서 빈칸의 역할 (0) | 2014.03.14 |