Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- typedef struct {
- int rango, coeficiente[6];
- } t_polinomio;
- t_polinomio Crea (int grado, int coe[]){
- t_polinomio pol;
- pol.rango=grado;
- int i;
- for(i=0;i<=grado;i++){
- pol.coeficiente[i]=coe[i];}
- return (pol);
- }
- double Evaluar ( t_polinomio pol, double pt){
- int i;
- double resultado=0;
- for(i=0;i<=pol.rango;i++){
- resultado+=pol.coeficiente[i]*pow(pt,i);
- }
- return (resultado);
- }
- void Mostrar (t_polinomio pol){
- int i;
- for(i=0;i<=pol.rango;i++){
- if(pol.coeficiente[i]!=0){
- printf("%d *x^%d ",pol.coeficiente,i);
- }
- }
- }
- void Derivar(t_polinomio pol, t_polinomio *der){
- int i;
- der->rango=pol.rango-1;
- for(i=1;i<=pol.rango;i++){
- der->coeficiente[i-1]=pol.coeficiente[i]*i;
- }
- }
- main(){
- t_polinomio pol,der;
- int i,rango,coeficiente[6];
- char orden;
- double pt;
- printf("introduzca un rango para el polinomio: ");
- scanf("%d",&rango);
- if(rango>5){
- printf("No se puede realizar la operación. ");
- return (0);
- }
- for(i=0;i<=rango;i++){
- printf("Introduzca el coeficiente %i: ",i);
- scanf("%i",&coeficiente[i]);
- }
- pol=Crea(rango,coeficiente);
- printf("Introduzca la operación a realizar: ");
- scanf("%c",&orden);
- switch (orden){
- case 'E':
- case 'e':
- printf("Introduzca un punto: ");
- scanf("%lf",&pt);
- printf("Valor: %lf",Evaluar(pol,pt));
- break;
- case 'M':
- case 'm':
- Mostrar(pol);
- break;
- case 'D':
- case 'd':
- Derivar(pol,&der);
- Mostrar(der);
- break;
- }
- return (0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement