Uso el logaritmo neperiano para calcular valores aleatorios peor me da un error, sabeis porque puede ser¿?
numero_aleatorio = (rand()%100)/100;
valor = (-1/1)*log10(numero_aleatorio);
Error en ejecuccion: Log10: SING error
| |||
Logaritmo Uso el logaritmo neperiano para calcular valores aleatorios peor me da un error, sabeis porque puede ser¿? numero_aleatorio = (rand()%100)/100; valor = (-1/1)*log10(numero_aleatorio); Error en ejecuccion: Log10: SING error |
| |||
Respuesta: Logaritmo Parece ser que estas haciendo el logaritmo de un numero igual o menor a cero y eso es un error. Si esas dos lineas estan contiguas el unico error que se me ocurre es que la variable numero_aleatorio sea entera y al dividirla quede siempre 0 :s Proba modificando esas cosas. |
| |||
Respuesta: Logaritmo Numero aleatorio es float tambien. En pascal lo hice utilizando esa funcion y no daba problemas, no creo que sean números negativos puesto que me habría pasado también en pascal. El logaritmo neperiano en Pascal en ln, en c es log10¿? |
| |||
Respuesta: Logaritmo Ya se donde esta el problema, pero nose como arreglarlo. numero_aleatorio = (rand()%100); printf("%d,numero_aleatorio); <-- 26.000000 numero_aleatorio = (rand()%100)/100; printf("%d,numero_aleatorio); <-- 0.000000 No deberia dar 0, deberia hacer 26/100 = 0.26 :( Última edición por Zunri; 13/08/2010 a las 01:15 |
| |||
Respuesta: Logaritmo Pasa que en ese printf estas pidiendo el entero y no el double. printf("%f,numero_aleatorio); Asi deberia ir. Sobre lo del logaritmo nepelioano o en base dies log10 como su nombre lo indica esta en base 10. Creeria que el que dice log solo es en base e. Pero nunca lo he usado igual. |
| |||
Respuesta: Logaritmo El printf no lo tengo puesto en el programa, lo puse aqui para que vean que sale. Tengo puestos printf("%f", ), el problema es que sigue dando 0. Entonces da error en el logaritmo. Peor no se como puede dar 0! xD |