Use the following typedefs typedef struct double dCoeffcoeff
Solution
#include<stdio.h>
#include<conio.h>
createPolynomial(Node *pPolyHead)
printPolynomial(Node *pPolyHead);
Node *addPolynomials(Node *pPolyAHead, Node *pPolyBHead, Node *pPolyCHeadHead)
;
void main()
{
clrscr();
PolyAHead=PolyBHead=PolyCHead=NULL;
PolyAHead=(struct list*)malloc(sizeof(struct list));
PolyBHead=(struct list*)malloc(sizeof(struct list));
PolyCHead=(struct list*)malloc(sizeof(struct list));
printf(\"Enter the first polynomial:\ \");
createPolynomial(PolyAHead);
printf(\"Enter the second polynomial:\ \");
createPolynomial(PolyBHead);
printf(\"Addition of two polynomial:\ \");
polyadd(PolyAHead,PolyBHead,PolyCHead);
printf(\"first polynomial\ \");
printPolynomial(PolyAHead);
printf(\"\ second polynomial\ \");
printPolynomial(PolyBHead);
printf(\"\ printf the polynomial:\ \");
printPolynomial(PolyCHead);
getch();
}
createPolynomial(struct list *n_node)
{
char ch;
int c,p;
do{
printf(\"Enter the coeffiecient and power:\\t\");
scanf(\"%d%d\",&c,&p);
n_node->coeff=c;
n_node->pow=p;
n_node->next=(struct list*)malloc(sizeof(struct list));
n_node=n_node->next;
n_node->next=NULL;
printf(\"Continue\ \");
ch=getch();
}while(ch==\'y\' || ch==\'Y\');
}
printPolynomial(struct list *node)
<em id=\"__mceDel\"> {
while(node->next!=NULL)
{
printf(\"%dx^%d\",node->coeff,node->pow);</em>
if(node->coeff>0)
printf(\"+\");
else
printf(\"-\");
node=node->next;
}
}
Node *addPolynomials(Node *pPolyAHead, Node *pPolyBHead, Node *pPolyCHeadHead){
while(PolyAHead->next && PolyBHead->next)
{
if(PolyAHead->pow>PolyBHead->pow)
{
PolyCHead->coeff=PolyAHead->coeff;
PolyCHead->pow=PolyAHead->pow;
PolyAHead=PolyAHead->next;
}
else if(PolyBHead->pow>PolyAHead->pow)
{
PolyCHead->coeff=PolyBHead->coeff;
PolyCHead->pow=PolyBHead->pow;
PolyBHead=PolyBHead->next;
}
else
{
PolyCHead->coeff=PolyAHead->coeff+PolyBHead->coeff;
PolyCHead->pow=PolyAHead->pow;
PolyAHead=PolyAHead->next;
PolyBHead=PolyBHead->next;
}</em>
PolyCHead->next=(struct list*)malloc(sizeof(struct list));
PolyCHead=PolyCHead->next;
PolyCHead->next=NULL;
}
while(PolyAHead->next ||PolyBHead->next)
{
if(PolyAHead->next)
{
PolyCHead->coeff=PolyAHead->coeff;
PolyCHead->pow=PolyAHead->pow;
PolyAHead=PolyAHead->next;
}
if(PolyBHead->next)
{
PolyCHead->coeff=PolyBHead->coeff;
PolyCHead->pow=PolyBHead->pow;
PolyBHead=PolyBHead->next;
}
PolyCHead->next=(struct list*)malloc(sizeof(struct list));
PolyCHead=PolyCHead->next;
PolyCHead->next=NULL;
}
}
| #include<stdio.h> |



