Programación de estructuras de datos con polinomios univariados
#includelt; stdlib.hgt;
#includelt; define M 3
typedef struct term
{ //Representación de elementos, elementos polinomiales como elementos de datos de LinkList
float coef //Coeficiente p >
int expn; //índice
estructura término *next;
}término;
void PolyInitiate(término **cabeza) p >
{
*head = (term *)malloc(sizeof(term));
(*head)-gt; next = NULL;
}
void CreatPolyn(term *P, int m)
{// Ingrese el coeficiente del término m, el índice del término de potencia más alto es m-1, cree un unidad que representa una lista enlazada única de polinomios P
P-gt; coef = 0.0;
int i
printf("Ingrese los coeficientes d en secuencia (no) los coeficientes de los elementos son 0)\n", m);
for (i = 0; i lt; m; i)
{ // Ingrese m elementos en secuencia
printf("Coeficiente con índice d", i);
scanf("f", amp; P-gt; coef
P-gt; = i;
P = P-gt; siguiente = (término*)malloc(sizeof(término));
P-gt; siguiente = NULL; * /
}
}
void Calculatepoly(término *x, término *y, término *z, int a)
{ //Calcula los polinomios x e y, suma a si es 0, resta si no es 0, el resultado es z
int i;
for(i = 0; i lt; M; i)
{
if(a!=0) z-gt;
else z-gt; coef = x-gt; coef - y-gt;
z-gt; expn = x-gt; Las siguientes son mis adiciones*/
z=z-gt; next=(term*)malloc(sizeof(term));
z-gt; /p>
x =x-gt;siguiente;
y=y-gt;siguiente;
}
}
void Printfpoly(término * z)
{//Polinomio de salida z
int i;
printf(" gx^d ", z-gt ; coef, z-gt; expn);
z = z-gt; siguiente
for(; z-gt; siguiente; z=z-gt; siguiente/* i=1; i lt; M; i */)
{
if(z-gt;c)
oef gt; = 0)printf(" ");
printf(" gx^d ", z-gt; coef, z-gt; expn);
} p> p>
putchar('\n');
}
void main(void)
{//Probar función principal p>
término *x, *y, *z;
int a;
printf("Ingrese 1 para sumar, ingrese 0 para restar");
scanf("d",amp;a);
PolyInitiate(amp;x);
PolyInitiate(amp;y);
PolyInitiate(amp; z);
CreatPolyn(x, M);
CreatPolyn(y, M);
Printfpoly(x); >
Printfpoly(y);
Calcularpoly(x, y, z, a);
Printfpoly(z);
}