Red de conocimiento informático - Problemas con los teléfonos móviles - Programación Segma

Programación Segma

# include & ltstdio.h & gt

Doble uniforme (doble a, doble b, long int *seed)//a, b son los límites superior e inferior de números distribuidos uniformemente, *seed es la semilla de números aleatorios.

{

Doble t;

* semilla = 2045 *(* semilla)+1;

* semilla = * semilla- (* semilla/1048576)* 1048576;

t =(* semilla)/1048576.0;

t = a+(b-a)* t;

return t ;

}

Doble Gauss (Doble media, Doble sigma, Long int * s)//Representa la media de la distribución normal, la desviación estándar de la distribución normal Sigma, * s( La *semilla en "uniform . h") es la semilla del número aleatorio.

{

int I;

Doble x, y;

doble uniforme(doble, doble, largo int *); /p>

for(x=0,I=0;i<12;i++)

x +=uniforme(0,1.0,s);

x- = 6.0

y = media + x * sigma

Devuelve y

}

int main()

{

int i, j;

long int s;

Doble x, media, sigma

// doble gauss (doble, doble, largo int *);

media = 0;

sigma = 1;

s = 13579; cambia, el número aleatorio generado no cambia.

for(I = 0;i<= 10;i++)

{

for(j = 0;j & lt= 5;j++)

{

x = Gaussiano (media, sigma y gaussiano);

printf("%13.7f ", x); p>p>

}

printf("\n");

}

}