다항식의 덧셈 프로그램
찰스
#include stdio.h
#define MAX(a,b) ((ab)?a:b)
#define MAX_DEGREE 50
typedef struct{
int degree;
float coef[MAX_DEGREE];
} polynomial;
polynomial addPoly(polynomial A, polynomial B)
{
polynomial C;
int A_index=0, B_index=0, C_index=0;
int A_degree=A.degree, B_degree=B.degree;
C.degree=MAX(A.degree, B.degree);
while(A_index=A.degree && B_index=B.degree){
if(A_degree B_degree){
C.coef[C_index++] = A.coef[A_index++];
A_degree--;
}
else if(A_degree == B_degree){
C.coef[C_index++]=A.coef[A_index++]+B.coef[B_index++];
A_degree--;
B_degree--;
}
else{
C.coef[C_index++] = B.coef[B_index++];
B_degree--;
}
}
return C;
}
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={3, {4,3,5,0}};
polynomial B={4, {3,1,0,2,1}};
polynomial C;
C=addPoly(A,B);
printf(\n A(x)=); printPoly(A);
printf(\n B(x)=); printPoly(B);
printf(\n C(x)=); printPoly(C);
getchar();
}
이 소스는 대충 이해가가는데 말 그대로 대충만 이해가 가요 ㅠㅠ
정확이 무엇이 무엇에 쓰는거고 그것을 잘 몰르겠습니다 도와 주십시요