elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Duda sobre generacion de numeros random
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre generacion de numeros random  (Leído 1,724 veces)
madaflaca

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda sobre generacion de numeros random
« en: 20 Junio 2018, 01:21 am »

Buenas , tengo un trozo de codigo que deberia generarme aleatoriamente dos datos y resulta que siempre  me salen los mismos que son el 3,25 y el 5,00

El codigo es el siguiente:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>


#define NUM_DATOS 1000000
#define MAX_LONG 30
#define MAX_CLUSTER 3
#define PI 3.141592
#define rango 7

struct tDato
{
    double d1,d2;
};

struct tDato generador();

struct tDato generador()
{
    struct tDato c;
    int i;
    double angulo;
    double radio;

    i = rand()%rango;
    angulo = rand()%2*PI*1000000;
    angulo /= 1000000;

    switch (i)
    {
        case 0:
        case 1:
        case 2:
            radio = rand()%25 / 10;
            c.d1 = 2 + radio*cos(angulo);
            c.d2 = 7 + radio*sin(angulo);
            break;
        case 3:
        case 4:
            radio = rand()%15 / 10;
            c.d1 = 5 + radio*cos(angulo);
            c.d2 = 5 + radio*sin(angulo);
            break;
        case 5:
            radio = rand()%10 / 10;
            c.d1 = 7 + radio*cos(angulo);
            c.d2 = 5 + radio*sin(angulo);
            break;
        default:
            c.d1 = rand()%1000 / 100.0;
            c.d2 = rand()%1000 / 100.0;
            break;

    }

    return c;
}

int main()
{

    struct tDato d;

    d=generador();

    printf("d1 =%lf\n",d.d1);
    printf("d2 =%lf",d.d2);

    return 0;
}

Gracias de antemano


En línea

crazykenny


Desconectado Desconectado

Mensajes: 4.239



Ver Perfil WWW
Re: Duda sobre generacion de numeros random
« Respuesta #1 en: 20 Junio 2018, 20:19 pm »

Hola madaflaca.

Sobre la duda que comentas sobre numeros aleatorios, creo recordar que se utilizan almenos dos valores (o numeros) para generar numeros aleatorios, donde el primero suele ser un "valor base" para generar numeros, y, por otra parte, el segundo valor se incrementa en 1 cada vez que utilizas la funcion rand() para generar un numero.

Entonces, una opcion que muestre valores diferentes cada vez que ejecutes el programa, seria poner que el valor base sea igual al tiempo (en milisegundos, creo recordar) que muestra el sistema.

Y, bueno, un ejemplo que he encontrado para hacerlo en C++ seria insertando la siguiente linea:

Código:

srand(time(NULL));


Sobre la fuente donde he encontrado el ejemplo, es la siguiente:

https://blog.martincruz.me/2012/09/obtener-numeros-aleatorios-en-c-rand.html

Espero poder ayudarte en la duda que has expuesto al abrir este tema.

Muchas gracias por vuestra atencion, y, bueno, saludos.


En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
generacion de num aleatorios con metodos estadisticos [ no Random]
.NET (C#, VB.NET, ASP)
NeoXero 3 3,206 Último mensaje 26 Mayo 2007, 11:19 am
por Hendrix
AYUDA!! Sobre un programa de numeros Random y Timer ??
Programación Visual Basic
Laura_12 1 1,655 Último mensaje 4 Junio 2007, 23:26 pm
por Jareth
Random: Numeros Aleatorios
.NET (C#, VB.NET, ASP)
MANULOMM 3 13,484 Último mensaje 15 Julio 2007, 14:20 pm
por Meta
Duda sobre un metodo que devuelva tres valores random « 1 2 »
Java
Dyabel03 12 10,136 Último mensaje 13 Marzo 2011, 07:53 am
por .mokk.
numeros random en una matriz
Programación C/C++
taku86 0 1,877 Último mensaje 23 Abril 2018, 01:39 am
por taku86
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines