elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con este codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con este codigo  (Leído 2,261 veces)
exanime

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Duda con este codigo
« en: 12 Septiembre 2014, 01:53 am »

Código:
d#include <iostream>
#include <math.h>

using namespace std;

int main()
{
double seno, m, f;
int n;
int N;
double x;
double valor1 = 0;
double valor2 = 0;
double valor3 = 0;
N = 100;
n = 1;
m = 1;
f = 1;
cout<< "dame el valor de x \n";
cin>> x;
while (N>=n)
{
valor1 = (-1) ^n;
valor2 = (2*n+1);
while (m <= valor2) {
f = f*m;
m = m+1;
}
n++;
seno = (valor1/f) * x * exp(valor2 + seno);
}
cout<< seno << " comparado con " << sin(x) << endl;

return 0;
}

Quiero que la funcion que hice para hallar el seno de deacuerdo con la comparacion, la hice para saber el verdadero valos con mostrar senox, peor no se en que estoy fallando no me da el mismo valor a comparar, me podrian pegar una ayuda? no se que hago mal


En línea

Aberroncho
Colaborador
***
Desconectado Desconectado

Mensajes: 1.738


Daría todo lo que sé por la mitad de lo que ignoro


Ver Perfil
Re: Duda con este codigo
« Respuesta #1 en: 12 Septiembre 2014, 23:45 pm »

En un primer vistazo y sin entrar a analizar el algoritmo, yo diría que el problema te puede venir de que no inicializas la variable "seno" antes de utilizarla por primera vez.

La primera pasada por la línea

Código:
seno = (valor1/f) * x * exp(valor2 + seno);


tendrá un valor indefinido en la variable "seno".


« Última modificación: 12 Septiembre 2014, 23:50 pm por Aberroncho » En línea

"La ignorancia es la noche de la mente, pero una noche sin Luna ni estrellas."
(Confucio)
flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: Duda con este codigo
« Respuesta #2 en: 13 Septiembre 2014, 19:25 pm »

en la parte
Código:
valor1 = (-1) ^n;
debería ser
Código:
pow (-1, n);
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
exanime

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Duda con este codigo
« Respuesta #3 en: 14 Septiembre 2014, 04:07 am »

le cambie el
Código:
pow (-1, n);
pero nada me sigue diciendo
0 comparado con el valor real de cualquier numero, no se que hacer :S
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Duda con este codigo
« Respuesta #4 en: 14 Septiembre 2014, 04:44 am »

Código:
pow (-1, n);

como la progresion del poder de -1 va

-1, 1, -1, 1, -1, 1.... al infinito,

es más facil hacer

Código
  1. 1-(2*n%2)

Código:
si n es impar 
n%2 = 1
1*2 = 2
1-2= -1

si n es par
n%2 = 0
0*2=0
1-0=1

y evitas usar potencias (incluso puedes llevar un acumulador y listo para evitar el modulo), no se si me di a explicar :P
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
exanime

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Duda con este codigo
« Respuesta #5 en: 16 Septiembre 2014, 17:50 pm »

Código:
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
double seno, m, f;
int n;
int N;
double x;
double valor1 = 1;
double valor2 = 1;
double valor3 = 1;
N = 100;
n = 1;
m = 1;
f = 1;

//si n es impar
n%2 = 1
1*2 = 2
1-2= -1

//si n es par
n%2 = 0
0*2=0
1-0=1

cout<< "dame el valor de x \n";
cin>> x;
while (N>=n)
{
valor1 = 1-(2*n%2);
valor2 = ((2*n%)+1);
while (m <= valor2) {
f = f*m;
m = m+1;
}
n++;
seno = (valor1/f) * x * exp(valor2 + seno + 1);
}
cout<< seno << " comparado con " << sin(x) << endl;
system("pause");

return 0;
}

Edito:
lo que basicamente debe hacer el programa es preguntarme un numero cualquiera real
y darme el valor del SEN(X) sin usar la funcion factorial definida en librerias si no haciendola arriba que las defini como M y F, la formula es esta la que trato de poner para que me de el valor y lo comparo con el valor real del sen(X) para saber si esta bien o no.

y asi lo arme pero la verdad me sigue dando asi
0 comparado con el valor real del sen(X)
y he mirado y nada, enserio he tratado de varias formas y nada :(
Ayuda PORFAVOR!
« Última modificación: 16 Septiembre 2014, 17:58 pm por exanime » En línea

flony


Desconectado Desconectado

Mensajes: 583



Ver Perfil
Re: Duda con este codigo
« Respuesta #6 en: 16 Septiembre 2014, 18:30 pm »

bue pase por esa si te sirve
http://foro.elhacker.net/programacion_cc/serie_de_taylor_para_senosolucionado-t359040.0.html
tu probema pasa basicamente porque la parte de
Código:
//si n es impar 
n%2 = 1
1*2 = 2
1-2= -1

//si n es par
n%2 = 0
0*2=0
1-0=1
deberían ser funciones que el while envíen información se ejecuten y vuelvan al while, es una opcion, la otra seria que lo haga dentro del while, recorda que "n" es la potencia y eso deberia ir iteracactuando a cada movimiento que hace el while desde 1 a 100
ojala haya sido claro  :rolleyes: y lo leas antes que te salgan diciendo, COMPRATE UN LIBRO APRENDE Y VOLVE"
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda] Alguien entiende este código en Pseudocódigo? « 1 2 3 »
Programación General
Dreamaker 22 12,969 Último mensaje 10 Mayo 2010, 01:39 am
por IDarknightI
[Duda] Insertar a este código, Mensaje de Error en caso de...
Programación Visual Basic
Soir 4 2,145 Último mensaje 15 Agosto 2010, 00:15 am
por Fitoschido
Duda con este codigo
Programación Visual Basic
[Kayser] 2 1,618 Último mensaje 26 Enero 2012, 00:15 am
por raul338
[Duda existencial]¿Que pasa en este codigo?
Programación C/C++
0xDani 5 2,340 Último mensaje 10 Julio 2012, 13:47 pm
por 0xDani
Duda con este codigo...
Programación C/C++
RSA 5 2,215 Último mensaje 20 Septiembre 2012, 18:20 pm
por ecfisa
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines