C언어 다항수의 곱셈 질문드립니다ㅠㅠ

'#include

define MAX_DEGREE 101

typedef struct{ int degree; float coef[MAX_DEGREE]; }polynomial; polynomial poly_product(polynomial A,polynomial B) { int i,j; polynomial C,Tmp; int degree_a=A.degree; int degree_b=B.degree; C.degree=A.degree+B.degree; for(i = 0; i < MAX_DEGREE; i++) { C.coef[i] = 0; } for(i=0;i<=degree_a;i++){ for(j=0; j<=degree_b;j++){ C.coef[i+j]+=A.coef[i]*B.coef[j]; } } return C; } void main(void) { polynomial a = { 5, {10, 0, 0, 0, 6, 3} }; polynomial b = { 4, {1, 0, 5, 0, 7} }; polynomial c; c = poly_product(a,b); int i; printf("차수 : %d차식\n",c.degree); for(i=c.degree;i>0;i--) { printf("%d차 계수 : %.2lf\n",i,c.coef[i]); } printf("상수 : %.2lf\n",c.coef[0]);
}'

1답변

  • 답변은 아니고요.

    #include<stdio.h>
    #define MAX_DEGREE 10
    typedef struct{
     int degree;
     float coef[MAX_DEGREE];
    }polynomial;
    polynomial poly_product(polynomial A,polynomial B)
    {
     int i,j;
     polynomial C,Tmp;
     int degree_a=A.degree;
     int degree_b=B.degree;
     C.degree=A.degree+B.degree;
      for(i = 0; i < MAX_DEGREE; i++)
       {
          C.coef[i] = 0;
       }
     for(i=0;i<=degree_a;i++){
      for(j=0; j<=degree_b;j++){
       C.coef[i+j]+=A.coef[i]*B.coef[j];
      }
     }
     return C;
    }
    void main(void)
    { 
     polynomial a = { 5, {10, 0, 0, 0, 6, 3} };
     polynomial b = { 4,     {1, 0, 5, 0, 7} };
     polynomial c;
     c = poly_product(a,b);
     int i;
     printf("차수 : %d차식\n",c.degree);
     for(i=c.degree;i>0;i--)
     {
      printf("%d차 계수 : %.2lf\n",i,c.coef[i]);
     }
     printf("상수 : %.2lf\n",c.coef[0]);  
    }
    

    마크다운 문법을 사용해주세요...

    • 사이다네요. :-) 박기선 2016.4.7 21:13

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.