C/Visual C - ¿Funcion rand() en C?

 
Vista:

¿Funcion rand() en C?

Publicado por Hector Espoz (10 intervenciones) el 26/10/2005 05:40:16
hola a todos , tengo un problema con la funcion rand() en c , lo que pasa es que quiero saber como sacar numeros aleatorios entre 0 y 28. he intentado rand(28); asi pero no me da, me compila pero me manda un mensaje de windows que dice que se a cometido un error.

A y otra pregunta , como puedo pasar arrays como argumentos de funciones , tanto como valor y como referencia?

Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Funcion rand() en C?

Publicado por Arancha (31 intervenciones) el 26/10/2005 11:27:15
La función rand en C no lleva ningún argumento, si lo que quieres que te devuelva la función rand es un número entre 0 y 28 lo que tienes que hacer es:
int num = rand()%28;
% devuelve el resto de una división.
El resto de una división entre cualquier número y 28 será siempre un número entre 0 y 28.

El tema de los arrays: para pasar un array por valor como argumento de una función le pasas un puntero al array (el nombre del array) y para pasarlo como referencia tienes que declarar y definir la función de la siguiente manera:
void funcion(char &array)
Para llamar a esta funcion lo hacer igual que si fuera por valor, le pasas el nombre del array.

Espero haberte servido de ayuda.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Funcion rand() en C?

Publicado por Yadisnel (4 intervenciones) el 26/10/2005 18:40:36
Espero que te sirva esto:
Para generar números aleatorios es muy bueno cambiar el valor semilla con que se generan, de lo contrario al generar un número determinado, al cerrar la aplicación y volverla a abrir, seguirá el mismoi patrón. Para evitar esto se utiliza
srand(time(NULL)); que cambia este valor semilla partiendo de la hora del sistema. Sería de esta forma.

srand(time(NULL));
int x=rand()%28;

si lo vas a utilizar dentro de ciclos, es conveniente que dejes el srand(time(NULL)) fuera del ciclo pués se demoraría mucho, con una vez que se lea la instrucción vasta, ejemplo:

......
srand(time(NULL));
while(a>b)
{
int x=rand()%28;
}

el algoritmo es más eficiente.
Salu2s Yadisnel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas Gracias

Publicado por Hector Espoz (10 intervenciones) el 27/10/2005 06:11:02
Gracias amigos , me sirvio mucho la informacion que me pasaron.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar