Red de conocimiento informático - Material del sitio web - Programación de multiplicación de polinomios tema especial lenguaje c

Programación de multiplicación de polinomios tema especial lenguaje c

Hablemos brevemente de un algoritmo

Al ingresar los coeficientes de dos fórmulas, puedes usar # como símbolo final de la entrada.

¿Ciel? ch = "0";

Y (ch!='#'-'0')

{

scanf(c, ampch); p>

ch-="0";

}

El valor real se almacena en ch obtenido a través de cada ciclo del algoritmo anterior.

Encuentra una manera de ponerlo en las matrices p y q

Si los dígitos de p, q y s son pi, qi y si respectivamente.

si = pi qi;? //La potencia de s debe ser la suma de P y q.

pyq se suman a la potencia de x y se almacenan en la posición correspondiente de s.

En cuanto a los coeficientes de entrada.

Si no hay requisitos especiales, la entrada se puede ordenar en orden ascendente mediante x.

De esta manera, p[0] almacena la potencia 0 y p[1] almacena la potencia 1. ...

Las tres matrices se pueden organizar así.

Es conveniente para el cálculo y se puede obtener el número final de términos, es decir (potencia 1), representado por si.

Cálculo del coeficiente s(x)

La potencia cuadrática de x y m corresponde exactamente a s[? ]Subíndice

for(m = 0; m lt= sim)? //Calcular la matriz s[? ]

for(I = 0; i lt= m; i)

s[m]= p[I] q[m-I];

Entonces El rendimiento debería ser suficiente.

¿Probablemente sea eso?

========================

El programa fuente está aquí, ¿Win7 C-Free? Prueba 5.0 superada

Toma una captura de pantalla primero

#¿Incluir? ltstdio.hgt?

#¿Incluir? ltstring.h gt

#¿Definición? Maxlen? 20?//¿Longitud de la matriz?

¿Anulado? aporte();? //Ingrese P/Q?

¿Anulado? múl();? // ¿Multiplicación de polinomios?

¿Anulado? producción();? //Salidas?

int? main(void)

{

¿Flotador? p[MAXLEN], q[MAXLEN],? //p, q elementos de entrada son los coeficientes del polinomio original.

s[MAXLEN lt; lt2]; //Los elementos en S son los polinomios de salida.

int? sn, pn, qn; //¿Cuáles son los grados de los polinomios respectivamente?

sistema("cls");?

printf(" \ n \ n Ingrese el número de veces P(x) (entero positivo)): ";? //¿Entrada P(x)?

scanf("d ", amppn);

printf("\nIngrese el coeficiente de P(x), ordene P(x:\n") en orden descendente;

p>

pn; //Número de elementos = multiplicado por 1

Entrada(p, pn); ;

printf(" \ n \ nIngrese el número de veces Q(x) (entero positivo)): "; //Ingrese Q(x)? d ", ampqn);

printf("\nIngrese los coeficientes de Q(x) y ordene Q(x) en orden descendente:\n ");

qn; / /Número de términos = multiplicado por 1?

input(q, qn);

printf(" \ n "); 2); //S grado del polinomio

int? //S inicialización de la matriz? (I = 0; i ltsn 1; i)

s[I ]= 0; /p>

mul(p, q, s, pn, qn); //¿Hacer multiplicación de polinomios?

Salida (s, sn 1); //Salida s? p>printf(" \ n ");

getch();

Devuelve 1;

}

nulo? float?*p,int?t)

{

int?

¿Para qué? ltt;i)? ]);

}

void? mul(float?*p, float?*q, float?*s ,? int? n)

int ? (I = 0; i ltm; I )//Escanear el coeficiente P(x)

¿Para qué (j = 0; j ltn; J )//Escanear el coeficiente Q(x)?

s[I j] = p[I]* q[j];

}

¿Salida no válida (punto flotante? *s, int) ? t)

{

int? me;

Printf("\nEl coeficiente S(x) es (S(x) en orden descendente):\n ");

¿Por qué ? (I = 0; iltt; i)?

printf(".2f\t ", s[I]);

}

Woohoo ~~Finalmente completado~~