| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
delfos
Registrado: 21 Mar 2007 Mensajes: 33 Ubicación: Antofagasta
| Publicado: 30/03/2007 4:57 pm | | | Título: llamada random () en dev c++ |
| | hola mira uso dev c++. pero tengo una duda; no se como llamar a random. Me dicen que escriba random(valor) y listo pero no funciona alguien sabe como se llama? |
|
| Volver arriba | |
 |
_Martin_

Registrado: 03 Ago 2006 Mensajes: 208
| Publicado: 31/03/2007 5:34 am | | | Título: |
| hola, hasta lo que tengo entendido no existe una funcion en c estadar llamada random(). Si quieres generar un numero aleatorio deberas utilizar srand() y rand(). Para hacer uso de ellas debes incluir stdlib.h
El uso consiste en llamar una solo vez a la funcion srand(semilla) donde semilla es un numero que vos quieras. Luego cada vez que llames a rand() obtendras el numero aleatorio.
por ejemplo printf("el numero es %i", rand() );
Nota importante: haste un programa que cree un numero aleatorio y luego lo imprima 20 veces. Observaras que el numero escrito es siempre el mismo. Esto se debe a que srand genera un numero aleatorio a partir de la semilla y siempre generara el mismo numero si tiene la misma semilla (como ves no es muy aleatorio) Para resolver esto:
en vez de srand(semilla) donde semilla es un numero constante pone srand(time(0))
En otras palabras la semilla ya no sera un numero constante sino un numero que va variando con el tiempo (justamente la funcion time(0) devuelve la hora)
para incluir esta funcion debes incluir time.h
Puf, he escrito bastante... Si no te quedo claro, avisme.
Saludos |
|
| Volver arriba | |
 |
delfos
Registrado: 21 Mar 2007 Mensajes: 33 Ubicación: Antofagasta
| Publicado: 02/04/2007 10:27 am | | | Título: |
| | a me quedo claro. gracias _Martin_ no tenia idea de la funcion con la semilla. vale. |
|
| Volver arriba | |
 |
|
paradise
Registrado: 05 Oct 2006 Mensajes: 40
| Publicado: 08/05/2007 9:30 am | | | Título: |
| | pero donde se dclararia srand() |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 4953 Ubicación: Mexico
| Publicado: 08/05/2007 4:24 pm | | | Título: |
| En ninguna parte ya que esa funcion ya esta declarada en el header stdlib.h.
Esa funcion la debes llamar al principio de tu programa, por ejemplo al principio de la funcion main y solo debes llamarla cuando necesitas generar una nueva semilla.
Un ejemplo muy sencillo en C estandar es:
| Código: | #include <stdio.h> #include <stdlib.h> #include <time.h>
#define NUM_ELEM 16
int main(void) { int i; srand((unsigned) time(NULL)); printf("Test: "); for (i = 0; i < NUM_ELEM; i++){ printf("%d", rand() % NUM_ELEM); printf(i == NUM_ELEM - 1 ? "\n" : " "); } return EXIT_SUCCESS; }
|
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
31RpT08
Registrado: 08 May 2008 Mensajes: 1 Ubicación: venezuela
| Publicado: 08/05/2008 3:06 pm | | | Título: colores aleatorios |
| buenas necesito saber como utilizar la funcion rand() o como establecer un codigo para generar colores aleatorios, es qe estoy trabajando en un proyecto y una parte del mismo consta de esto, necesito ayuda _________________ 31RpT08 |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 4953 Ubicación: Mexico
| Publicado: 09/05/2008 6:54 am | | | Título: |
| Honestamente no entiendo ya que esa funcion se describe en este tema junto con un ejemplo sencillo.
En cuanto a colores C y C++ no tienen concepto de estos, dependiendo de como se implementen estos en el compilador que estes utilizando tal vez te podamos ayudar.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
jealcr
Registrado: 02 Jun 2008 Mensajes: 1
| Publicado: 02/06/2008 8:33 pm | | | Título: random () para letra y para numero =S |
| hola! ojala puedan ayudarme..soy principiante en esto de programar, y estoy trabajando en un programa sencillo que genera un RFC y la CURP de una persona estoy teniendo problemas en cuanto a la utilizacion de la fincion random(), quisiera q me explicaran y, si es posible, pusieran un ejemplo sencillo de como utilizar random() para un numero aleatorio, y como utilizar random () para una letra aleatoria de antemano muchas gracias =) |
|
| Volver arriba | |
 |
st3
Registrado: 13 Oct 2008 Mensajes: 1
| Publicado: 13/10/2008 7:11 pm | | | Título: uso de Rand() |
| Te va un ejemplo por si te interesa. Te devuelve un numero aleatorio menor que x
int MiRandom(int x) { srand(1); int Numero=0; Numero=(rand()%x); return Numero; }
Suerte. Neuquen, Argentina. |
|
| Volver arriba | |
 |
|
eagleoneraptor
Registrado: 20 May 2008 Mensajes: 118 Ubicación: Buenos Aires(Argentina)
| Publicado: 14/10/2008 6:57 am | | | Título: |
| Hablan mucho de la función random(), pero nunca escuche que en el C estandar existiera tal función, que yo sepa las únicas funciones que realizan calculos pseudoaleatorios son rand() y srand(), ah y ya que estoy aca escribiendo voy a aportar otra función:
| Código: | int random(int min,int max) { int aux; if(max<min){ aux=max; max=min; min=aux; } return ((rand()%(max-min+1))+min); } |
Devuelve un Nº aleatorio entre min y max, incluyendolos.
| jealcr escribió: | | buenas necesito saber como utilizar la funcion rand() o como establecer un codigo para generar colores aleatorios, es qe estoy trabajando en un proyecto y una parte del mismo consta de esto, necesito ayuda |
Es facil, si usas el modo RGB, generas un numero aleatorio entre 0 y 255 para cada byte (byte R, byte G, byte B), la cosa es que el manejo de color varía un poco en cada API gráfico, pero la escencia es la misma.
Un Saludo! _________________ Divida sus archivos con facilidad usando File Breaker 
"Aquel que hace una bestia de si mismo se libra del dolor de ser un hombre". Dr. Hunter S. Thompson |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 4953 Ubicación: Mexico
| Publicado: 14/10/2008 7:06 am | | | Título: |
| Es mejor utilizar srand y rand ya que estas forman parte de la biblioteca estandar de C (sus prototipos se localizan en <stdlib.h>) y esto garantiza su disponibilidad independientemente del compilador utilizado, con random y randomize no se tiene esa garantia.
En cuanto a la funcion de st3 esta devolveria siempre el mismo numero ya que antes de generarse este se define la semilla mediante "srand(1);".
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
eagleoneraptor
Registrado: 20 May 2008 Mensajes: 118 Ubicación: Buenos Aires(Argentina)
| Publicado: 14/10/2008 7:21 am | | | Título: |
| ¿Pero de que librería provienen las funciones? ¿Cumplen el mismo cometido que las estandar?
Porque si es así, resulta ilógico usar random y randomize en vez de las estandar.
Un Saludo! _________________ Divida sus archivos con facilidad usando File Breaker 
"Aquel que hace una bestia de si mismo se libra del dolor de ser un hombre". Dr. Hunter S. Thompson |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 4953 Ubicación: Mexico
| Publicado: 15/10/2008 6:38 am | | | Título: |
| Las funciones randomize y random realizan (valga la redundancia) las mismas funciones que srand y rand, me parece que ambas (las dos primeras) son cortesia de compiladores de Borland.
Como ya se ha comentado no tiene sentido utilizar funciones especificas de un compilador cuando se tiene acceso por parte de la biblioteca estandar de C a funciones que realizan el mismo cometido.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
Gosa

Registrado: 12 Ene 2009 Mensajes: 6
| Publicado: 12/01/2009 11:00 am | | | Título: |
| Yo hice algo parecido a esto y una de las soluciones encontradas fue ... esta....
| Código: | #include "stdio.h" #include "stdlib.h" #include "time.h"
main() { int Randi; srand (time(NULL));/*genera una semilla distinta utilizando el reloj del sistema*/ Randi=rand(); printf("\n\n\t %d \n\n\n",Randi);/*Traza para comprobar de que en cada ejecucion se genera un numero aleatorio distinto*/
system ("Pause"); }
|
|
|
| Volver arriba | |
 |
|
|