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:)
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)
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:
int n = 0;
for(int i=0; i<6; i++)
n += (rand()%10)*pow(10,i);
Entre muchas otras opciones.
Cita de: 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)
esta es mi codification. :)
#include <stdlib.h>
#include <stdio.h>
int x;
main()
{
srand (time(NULL));
x=rand()% 999999;
printf("%i", x);
system ("pause");
return 0;
}
Mod: Los códigos deben ir en etiquetas GeSHi
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