/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

llamada random () en dev c++

 
      Índice del Foro elrincondelc.com -> Dev-C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
delfos



Registrado: 21 Mar 2007
Mensajes: 33
Ubicación: Antofagasta

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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)

MensajePublicado: 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 Smile

"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

MensajePublicado: 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)

MensajePublicado: 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 Smile

"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

MensajePublicado: 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Dev-C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com