Programacion c++

Iniciado por mmaikel, 6 Abril 2012, 19:59 PM

0 Miembros y 1 Visitante están viendo este tema.

flony

mas o menos seria algo así...no lo probé porque me voy a jugar al fútbol probala y me decís
#include<iostream>
using namespace std;
   
int factorial(int n)
{
int fact =1;
for(int i=2; i<=n; i++)
    {
        fact = fact * i;
    }
return fact;

}
int numerador(int n)
{
int numera;
if (n % 2 ==0)
{
numera=1;
}
else
{
numera=-1;
}
return numera;

}

float exponente (int n, float x)
{
int expo;
float potencia;
expo=2*n+1;
for (int i=2;i==expo;i++)
{
potencia=x*x;
}
return potencia;


}
int main()
{
int n;
float resultado;
float x;
int fact;
int numera;
float potencia;

cout << "Ingrese el numero de terminos a aproximar: " << endl;
cin >> n;
cout << "Ingrese el valor de angulo: " << endl;
    cin >> x;
fact = factorial(n);
numera = numerador(n);
potencia = exponente (n, x);
resultado = numera / fact * potencia;
cout << " el resultado es " << resultado << endl;
system ("pause");
return 0;
}
si un problema no tiene solucion entonces no es un problema...es algo inevitable

mmaikel

#21
fallo persiste..

#include <iostream>
#include <cmath>
#define PI 3.141592654
using namespace std;
int main()
{
     int x,n,b,fact,fac,i,num;
     cout << "Ingrese el numero de terminos a aproximar: " << endl;
     cin >> n;
     cout << "Ingrese el valor de angulo: " << endl;
     cin >> x;
          {
         
            int num;
                if (n%2==0)
                   num=1;
                else
                   num=-1;   
           } 
           float rad;
           rad = (x*PI)/180;
               
           {               
                     
                int fac=1;
                fact=2*n+1;
                for (b=1 ; b<=fact ; b++)
                fac=b*fac;
           }   
               
                double sen = 0;
                for (i=0; i<=n; i++)
                {                                     
                      sen=sen+(num*pow(rad,fact)/fac);

                }
               
     cout << "seno " << x << ": " << sen << endl;                   
     system("pause");
     return 0;
}

flony

si vos lo decis....pero sogue mal planteado el problema
sen=sen+(num*pow(rad,fact)/fac);
la serie de taylor es para no usar seno...y allí lo estas usando. si mal no recuerdo el teorema decía "toda función puede ser representada por un polinomio " la idea de usar ese teorema es calcular una función podría ser seno coseno etc que quede un polinomio y dependiendo del grado de error que quieras los sumandos de la serie.
Pero bue si vos lo decís así debe ser
si un problema no tiene solucion entonces no es un problema...es algo inevitable