Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Cesartochii en 15 Octubre 2015, 17:33 pm



Título: Como puedo aumentar la capacidad de la variable con "Rand"
Publicado por: Cesartochii en 15 Octubre 2015, 17:33 pm
Tengo una duda para una tarea.

Me pidieron hacer un numero aleatorio del 0 al 999999.  Pero al momento de correr el programa, solo tengo resultados hasta 32 mil y algo.

Como puedo aumentar esa capacidad para que me de números hasta el 999999 ?

Muchas Gracias:)


Título: Re: Como puedo aumentar la capacidad de la variable con "Rand"
Publicado por: engel lex en 15 Octubre 2015, 17:36 pm
como no podemos asumir que eres un experto en el lenguaje y saber usar bien las funciones del mismo, sería bueno que mostraras tu código para ver cuales son los potenciales problemas, ya que la función rand arroja normalmente un resultado de 32bits siendo mucho mayor que el que tu indicas

al colocar código, no olvides usar las etiquetas de código (GeSHI)


Título: Re: Como puedo aumentar la capacidad de la variable con "Rand"
Publicado por: ivancea96 en 15 Octubre 2015, 19:31 pm
En el caso de rand() de C, si no siempre, suele ser 32767 el máximo. El máximo es el valor de RAND_MAX.

Una opción que tienes, es ir cogiendo dígito a dígito:

Código
  1. int n = 0;
  2. for(int i=0; i<6; i++)
  3.    n += (rand()%10)*pow(10,i);

Entre muchas otras opciones.


Título: Re: Como puedo aumentar la capacidad de la variable con "Rand"
Publicado por: Cesartochii en 15 Octubre 2015, 20:42 pm
como no podemos asumir que eres un experto en el lenguaje y saber usar bien las funciones del mismo, sería bueno que mostraras tu código para ver cuales son los potenciales problemas, ya que la función rand arroja normalmente un resultado de 32bits siendo mucho mayor que el que tu indicas

al colocar código, no olvides usar las etiquetas de código (GeSHI)

esta es mi codification. :)


Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int x;
  5. main()
  6.  
  7. {
  8. srand (time(NULL));
  9.  
  10. x=rand()% 999999;
  11.  
  12. printf("%i", x);
  13.  
  14.  
  15. system ("pause");
  16. return 0;
  17. }


Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: Como puedo aumentar la capacidad de la variable con "Rand"
Publicado por: engel lex en 15 Octubre 2015, 20:50 pm
in este caso comprueba cuanto es MAX_RAND, si es 32mil y algo, usa la solucíón de ivancea96


por cierto, main es una función tipo int, no debes obviar eso