자료구조 3장 배열,구조체,포인터
- 최초 등록일
- 2013.08.10
- 최종 저작일
- 2012.01
- 한컴오피스
- 가격 1,000원
목차
0. 다항식 곱셈
1. 프로그램 3.6
2. 프로그램 3.7
3. 프로그램 3.8
4. 프로그램 3.9
본문내용
0. 다항식 곱셈
#include <stdio.h>
#define MAX_DEGREE 50
typedef struct{
int degree;
float coef[MAX_DEGREE];
}polynomial;
polynomial mult(polynomial A, polynomial B)
{
polynomial Q;
int index=0;
int i, j, k;
Q.degree=A.degree + B.degree;
for(i=0; i <= Q.degree; i++)
Q.coef[i] = 0;
for(i=0; i <= A.degree; i++){
for(j=0; j <= B.degree; j++){
for(k=0; k <= Q.degree; k++){
if(A.degree + B.degree - (i+j) == Q.degree-k){
Q.coef[index+k] += A.coef[i] * B.coef[j];
}
}
}
}
return Q;
}
void printpoly(polynomial P){
int i, degree;
degree = P.degree;
for(i=0; i<=P.degree; i++)
printf("%3.0fx^%d", P.coef[i], degree--);
printf("\n");
}
void main(){
polynomial A = {2, {1, 3, -2}};
polynomial B = {3, {2, 0, 1, 0}};
polynomial C;
C = mult(A,B);
printf("\n A(x)=");
printpoly(A);
printf("\n B(x)=");
printpoly(B);
printf("\n C(x)=");
printpoly(C);
참고 자료
없음