구조체 질문있어요!! 4가지
진이
질문 제목 : 다항식 프로그램인데 모르겠는 부분이 있어요빨간색으로 주석 단 부분 설명좀 부탁드릴께요질문 내용 : #include stdio.h
#define max(a,b) ((ab)?a:b)
#define max_degree 50 // 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; //polynomial구조체 안의 멤버변수 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++]; //여기서 coef의 역할은 뭔가요??
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();
}