#include <stdio.h>
typedef struct{
int deg;
int po[10];
}poly;
typedef struct{
int deg;
int po[10];
}poly;
poly p_add(poly a,poly b){
poly c;
int ap=0,bp=0,cp=0;
int ai=a.deg,bi=b.deg;
poly c;
int ap=0,bp=0,cp=0;
int ai=a.deg,bi=b.deg;
while(ap<=a.deg && bp<=b.deg){
if(ai>bi){
c.deg=a.deg;
c.po[cp++]=a.po[ap++];
ai--;}
else if(ai<bi){
c.deg=b.deg;
c.po[cp++]=b.po[bp++];
bi--;}
else{
c.deg=a.deg;
c.po[cp++]=a.po[ap++]+b.po[bp++];}
}
if(ai>bi){
c.deg=a.deg;
c.po[cp++]=a.po[ap++];
ai--;}
else if(ai<bi){
c.deg=b.deg;
c.po[cp++]=b.po[bp++];
bi--;}
else{
c.deg=a.deg;
c.po[cp++]=a.po[ap++]+b.po[bp++];}
}
return c;
}
}
void main(){
poly a={3,{1,2,3,4}};
poly b={2,{ 1,2,3}};
poly a={3,{1,2,3,4}};
poly b={2,{ 1,2,3}};
poly ans=p_add(a,b);
int i=ans.deg;
int p=0;
int p=0;
for(;i>1;i--){
printf("%dX^%d + ",ans.po[p],i);
p++;}
printf("%dX^%d + ",ans.po[p],i);
p++;}
printf("%dX + %d\n",ans.po[p],ans.po[p+1]);
}
}
댓글 없음:
댓글 쓰기