다항식곱셈
권애교
#include stdio.h void main(void)
void padd(int startA, int finishA, int startB, int finishB,
int *startD, int *finishD);{ A(x)와B(X)를 더하여 D(x)를 생성한다. */
float coefficient;
*startD = avail;
while (startA = finishA && startB = finishB)
switch (COMPARE(terms[startA].expon,
terms[startB].expon)) {
case -1: /* a의 expon이 b의 expon보다 작은 경우*/
attach(terms[startB].coef, terms[startB],expon);
startB++;
break;
case 0: /* 지수가 같은 경우 */
coefficient = terms[startA].coef +
terms[startB].coef;
if(coefficient)
attach(coefficient, terms[startA].expon);
startA++;
startB++;
break;
case 1: /* a의 expon이b의expon보다 큰경우*/
attach(terms[startA].coef, terms[startA].expon);
startA++;
}
/* A(x)의 나머지 항들을 첨가한다. */
for(startA=0; startA = finishA; startA++)
attach(terms[startA].coef, terms[startA].expon);
B(x)의 나머지 항들을 첨가한다. */
for(startB=1; startB = finishB; startB++)
attach(terms[startB].coef, terms[startB].expon);
*finishD=avail-1;
}
void attach(float coefficient, int exponent)
{ /* 새로운 항을 다항식에 첨가한다. */
if(avail = MAX_TERMS){
fprintf(stderr, 다항식에 항이 너무 많다.);
exit(1);
}
terms[avail].coef = coefficient;
terms[avail++].expon = exponent;
}이걸 이용해서 다항식 곱셈을 만들어야되는데 어떻게 해야될지 모르겟네요 ㅠ.ㅠ누가 이 소스를 이용해서 다항식곱셈좀 부탁드립니다!!