Cómo implementar un código C para la multiplicación polinómica usando una matriz de estructuras y mostrar los polinomios (ingresados ​​y el resultado final uno) usando diferentes funciones

¿Usando una variedad de estructuras? Creo que deberíamos comenzar con la premisa básica de cómo implementar un polinomio en C.

  • Arreglos: para [matemática] x ^ 3 + 5 * x ^ 2 + 6 [/ matemática] podemos representar el polinomio usando una matriz asignando los coeficientes a los diversos índices.

    índices: 0 1 2 3
    coeficientes: 6 0 5 1

  • Listas vinculadas: la misma lógica que la anterior, solo que ayuda a ahorrar espacio, ya que se pueden agregar dinámicamente nuevos nodos.

Ahora que hemos aprendido a implementar la representación de un polinomio, el código básico para multiplicar dos polinomios será algo así como:

int * multpoly (int * p1, int d1, int * p2, int d2)
{
int i, j, * p;
p = malloc ((1 + d1 + d2) * sizeof (int)); // creando el nuevo polinomio de grado d1 + d2 + 1
para (i = 0; i <= d1; i ++)
para (j = 0; j <= d2; j ++)
p [i + j] + = p1 [i] * p2 [j]; // asignando coeficientes a los diversos índices del polinomio final
retorno (p);
}