jlsonic |  |
| 2006-10-10 19:06 - Respuestas: 3 - Tema nº: 2423097
Tengo varias dudas, por ejemplo, porque no puedo escribir:
media = (1/2)*(numero1+numero2); //porque sale 0
y tengo que escribir:
media = (numero1+numero2)/2;
Segunda duda, puesto que estaba haciendo unas algoritmos para calcular la desviacion tipica de 5 numeros, el caso esque el resultado expreso me sale, por ejemplo
7,99811e-016
¿Que significa eso, error016 u otra cosa?
Gracias por sus respuestas | |
|
|
JoSeMi |  |
|
Re: Inicio con C++, algunas dudillas de programacion - 2006-10-10 19:55 - Respuesta 2
El primer problema ocurre porque (1/2) es una división entera, y claro, da 0.
Puedes hacer esto:
media = (numero1 + numero2) * 0.5f;
No obstante, veo más sencillo hacer lo segundo que comentaste o lo segundo que he puesto(que es lo lógico) y dejar de complicarse la vida, y más aún cuando se es principiante. Asegúrate de que el tipo de "media" sea float.
Respecto al número: 7,99811e-016
Eso se llama notación científica y equivale a: 7,99811·10^-16; es decir: 7,99811 y correr la coma 16 posiciones a la izquierda incluyendo ceros. Su resultado sería: 0,000000000000000799811
No te lo tomes a mal. Pero para programar hay que tener ciertos conocimientos de matemáticas, igual te vendría bien un repaso; te ayudará mucho.
Saludos.
[ Este mensaje fué editado por: JoSeMi el 10-10-2006 a las 19:57] | |
|
|
jlsonic |  |
|
Re: Inicio con C++, algunas dudillas de programacion - 2006-10-10 21:01 - Respuesta 3
Amss, es verdad no habia caido, se que es mas logico y coherente hacer lo segundo, pero siempre es bueno saber todas las cosas, deberia haber puesto 1.0/2.0 , oks oks gracias
y lo de e-016, pos la verdad no tenia ni idea de que era un exponencial, nose. De todas formas gracias.
La verdad que hay que saber matematicas y todo eso, porq no es lo mismo hacer una funcion en un papel que un algoritmo, pero por ahora las llevo bien las mates | |
|
|
JoSeMi |  |
|
Re: Inicio con C++, algunas dudillas de programacion - 2006-10-11 21:43 - Respuesta 4
Entonces adelante, a esforzarse y aprender.
Aquí estaremos para echar un cable en la medida de lo posible.
Saludos. | |
|
|
|