codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
long* multConst(long poli[], long gradoPoli, long constante); void case11(); case 11: case11(); break; void case11() { struct polinomio primerPolinomio, segundoPolinomio,A,B,B1,B2,C,D, resultadoPolinomio; int opcion, opcion2; printf("Elija como ingresara el primer polinomio de la multiplicacion:\n1)ingresando las constantes\n2)con constantes aleatorias:\n"); scanf("%d", &opcion); printf("Escriba el grado del primer polinomio\n"); scanf("%lu", &primerPolinomio.grado); switch (opcion) { case 1: primerPolinomio.pol = CrearPolinomio(primerPolinomio.grado); break; case 2: primerPolinomio.pol = CrearPolinomioAleatorio(primerPolinomio.grado); break; } EscribirPolinomio(primerPolinomio.pol, primerPolinomio.grado); printf("Elija como ingresara el segundo polinomio de la multiplicacion:\n1)ingresando las constantes\n2)con constantes aleatorias:\n"); scanf("%d", &opcion2); printf("Escriba el grado del segundo polinomio\n"); scanf("%lu", &segundoPolinomio.grado); switch (opcion2) { case 1: segundoPolinomio.pol = CrearPolinomio(segundoPolinomio.grado); break; case 2: segundoPolinomio.pol = CrearPolinomioAleatorio(segundoPolinomio.grado); break; } EscribirPolinomio(segundoPolinomio.pol, segundoPolinomio.grado); int i; A.grado = primerPolinomio.grado + segundoPolinomio.grado; //(a_n-1 * b_n-1) x^(2n-2) for (i = 0; i <= primerPolinomio.grado + segundoPolinomio.grado; ++i) // inicializa el polinomio nuevo con el grado correspondiente, con todos su valores en 0. { A.pol[i] = 0; } EscribirPolinomio(A.pol, A.grado); A.pol[primerPolinomio.grado + segundoPolinomio.grado] = (primerPolinomio.pol[primerPolinomio.grado] * segundoPolinomio.pol[segundoPolinomio.grado]); EscribirPolinomio(A.pol, A.grado); //(a_n-1 * B(X) + b_n-1 * A(x)) x^(n-1) B1.pol = multConst(primerPolinomio.pol, primerPolinomio.grado, primerPolinomio.pol[primerPolinomio.grado]); B2.pol = multConst(segundoPolinomio.pol, segundoPolinomio.grado, segundoPolinomio.pol[segundoPolinomio.grado]); B.pol = sumarPolinomios(primerPolinomio.grado, B1.pol, segundoPolinomio.grado, B2.pol); B.grado = primerPolinomio.grado + segundoPolinomio.grado; //(A(X) * B(X) C.pol = MultiplicarPolinomio(primerPolinomio.pol, primerPolinomio.grado-1, segundoPolinomio.pol, segundoPolinomio.grado-1); C.grado = primerPolinomio.grado-1 + segundoPolinomio.grado-1; //Ahora sumamos A+B+C D.pol = sumarPolinomios(A.grado, A.pol, B.grado, B.pol); D.grado = primerPolinomio.grado + segundoPolinomio.grado; resultadoPolinomio.pol = sumarPolinomios(D.grado, D.pol, C.grado, C.pol); resultadoPolinomio.grado = primerPolinomio.grado + segundoPolinomio.grado; EscribirPolinomio(resultadoPolinomio.pol, resultadoPolinomio.grado); } long* multConst(long poli[], long gradoPoli, long constante) { long* poli2; poli2 = (long*)calloc((gradoPoli), sizeof(long)); int i; for (i = 0; i <= gradoPoli; ++i) { poli2[i] = constante * poli[i]; } return poli2; }
Private
[
?
]
Run code
Submit