/* generatori random 'umani' per uniforme discreta e continua Completare l'ossatura per avere un programma funzionante */ #include ........ #include ........ #include ........ void setRandomSeed( unsigned RandomSeed) { time_t t; if (RandomSeed == 0 ) { // se == 0 si usa il tempo RandomSeed = ........ ; } printf("seed %u\n", RandomSeed ); srand( RandomSeed ); } int irunif(int min, int max) { if(min >= max) return(0); return(........ ); } float frunif(float min, float max) { float rzerouno; if(min >= max) return(0); rzerouno = .........; // random fra 0 e 1 return( ........ ); /* riscalare e traslare per avere il risultato desiderato */ } int main() { int i; unsigned seed; printf("Dai un seed (intero >= 0; se == 0 si usa il tempo) : "); scanf("%u", &seed); setRandomSeed(seed); // proviamo la random uniforme intera for(i=0; i<10; i++) { printf(" %d \n", irunif(1, 6) ); // per giocarci a dadi ... } for(i=0; i<10; i++) { printf(" %f \n", frunif(0, 10) ); } return 0; }