Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - madaflaca

#1
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