07. december 2003 - 21:36
Der er
8 kommentarer og 1 løsning
Random funktion giver højst en integer?
Hey Eksperter, hvordan kan det være at følgende funktion højst giver en integer (32xxx hvad det nu er).. ? #include <stdio.h> #include <time.h> int main(void) { long i; long randomnumber, savenumber; i = 1; savenumber = 0; srand(time(NULL)); while(i<100000) { randomnumber = rand(); if(randomnumber > savenumber) { savenumber = randomnumber; } printf("%d\n", randomnumber); i++; } printf("\nHigest number:\n%d", savenumber); return 0; }
Annonceindlæg fra NetNordic
07. december 2003 - 21:50
#4
det passede at RAND_MAX står til 0x7FFF.. jeg har prøvet at omskrive den i header filen, men det ser ikke ud til at virke alligevel?
07. december 2003 - 21:52
#6
Eksempel: #include <stdio.h> #include <stdlib.h> #include <time.h> static unsigned long int seed; void mysrand(unsigned long int ss) { seed=ss; return; } unsigned long int myrand() { seed=(16807*seed) % 2147483647; return seed; } int main(int argc,char *argv[]) { int i; mysrand(time(NULL)); for(i=0;i<10;i++) { printf("%ld\n",myrand()); } exit(0); }