giovedì 1 ottobre 2009

Uso della funzione rand() nel linguaggio C

#include stdio..h /* rimettere le parentesi angolari */
#include stdlib.h /* rimettere le parentesi angolari */
int seed; /*SCEGLI un numero intero per inizializzare il generatore di numeri random.
Il medesimo valore di seed produrrà sempre la medesima sequenza di numeri casuali.
Per ottenere una diversa sequenza scegli un valore di feed diverso.*/

double r; /* numero random nel range [0,1) */

long int M; /* user supplied upper boundary */

double x; /* numero random nel range[0,M) */
int y; /* numero intero random nel range [0,M) */
int z; /* numero intero random nel range [1,M+1) */

main(){
seed=10000;
srand(seed); /*inizializza il generatore di numeri random*/
M=100; /* numero random massimo */
int i;
/* generiamo e stampiamo una sequenza di 20 numeri random decimali e interi da 0 a 1; da 0 a 99, da 0 a 100 */
for (i=0;i<20; i++){
r=((double)rand()/((double)(RAND_MAX)+(double)(1)));
x=(r*M);
y=(int) x;
z=y+1;
printf("random number %3d %5f %5f %5d %5d\n",i,r,x,y,z);
}
}