[C con Clase] aleatorios con n decimales
Zaka E-Lab
shanatorio en gmail.com
Mie Oct 10 14:05:06 CEST 2007
Agustín Cota Reguero escribió:
> Para la segundo no se me ocurre ahora mismo ninguna solución
> aunque seguro que la hay, sin embargo para la primera es algo mas
> sencillo. Puedes generarte un numero aleatorio con rand. Pides al
> usuario que introduzca el numero de decimales n y ahora compones una
> cadena para pasarle a printf y que muestre ese numero de decimales que
> quieres. Por ejemplo:
>
> sprintf(cad,"Aqui va un número aleatorio: \%.%ilf",numerodecimales);
> printf(cad,numeroaleatorio);
>
> Eso debería mostrarte en la pantalla el número aleatorio con los
> decimales que tu quieres.
> Hay muchas mas maneras de hacerlo y esta sólo es una así que si tu
> problema no es exactamente este hay mas soluciones.
>
> Un saludo
> Agustín
Yo no estoy seguro de que este sea el comportamiento:
-->La función rand está definida de la siguiente manera:
int rand (void), por lo que siempre devolverá un entero ( 0 decimales ).
Si intentas mostrar un entero con una precisión de x decimales, lo que
mostrarás será un número con x decimales a la izquierda de la coma,
ejemplo, supongamos que tenemos el número 25 con una precisión de 4
decimales.Se mostraría lo siguiente:
25.0000( la coma ya sabemos que es punto en el sistema americano ).
Zaka.
Más información sobre la lista de distribución Cconclase