[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