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]);
}'

  • 2016년 03월 28일에 작성됨
    대학생 입니다.

조회수 332


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년 03월 28일에 작성됨
    AI, Game, Simulation 코드작성을 좋아합니다.

  • 사이다네요. :-)    los0731   2016.4.7 21:13     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close