[C con Clase] aleatorios con n decimales

Agustín Cota Reguero clom2002 en yahoo.es
Mie Oct 10 09:21:58 CEST 2007


No se si entiendo bien lo que quieres hacer, ya que le veo dos posibles interpretaciones. Una es que generes un número aleatorio con rand o con cualquier otra función que tendrá muchos números decimales y que lo presentes en la pantalla o donde sea con los decimales que te piden. Otra es generar los números aleatorios con exactamente los decimales que te piden. 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 



Zaka E-Lab <shanatorio en gmail.com> escribió: DAMP escribió:
> 
> Cordial saludo, necesito llenar un vector con aleatorios entre 
> determinados limites, eso es facil, pero tengo el siguiente problema, 
> esos aleatorios deben de tener un determinado numero de decimales "n"; 
> donde n es un valor ingresado por el usuario, es decir si el usuario me 
> dice q genere aleatorios con dos decimales(n=2), el programa deberia 
> generar algo asi: 1.23,4.52,-5.23,8.95; si el usuario dice q n=5 seria 
> asi: 1.23458, 4.52654,-5.23598,8.95632.

Puedes generar cualquier serie de enteros aleatorios ( rand () ) y 
dividirlo por 10 elevado a n ( donde n es introducido por el usuario ).

Se podría hacer así:

temp = rand ();

float aleatorio = temp / (10 elevado a n)

Zaka.

_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


       
---------------------------------

Sé un Mejor Amante del Cine
¿Quieres saber cómo? ¡Deja que otras personas te ayuden!.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071010/c23b42ee/attachment.html>


Más información sobre la lista de distribución Cconclase