home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / c / 11726 < prev    next >
Encoding:
Text File  |  1992-07-29  |  2.0 KB  |  72 lines

  1. Xref: sparky comp.lang.c:11726 comp.sys.amiga.programmer:11792
  2. Newsgroups: comp.lang.c,comp.sys.amiga.programmer
  3. Path: sparky!uunet!darwin.sura.net!Sirius.dfn.de!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!sunic!seunet!swbull!hemulen.bull.se!elias
  4. From: elias@proxxi.se (Elias M}rtensson (proxxi))
  5. Subject: Re: Matt Dillon's DICE (Amiga C) and rand() function
  6. Message-ID: <1992Jul29.163704.26489@proxxi.se>
  7. Organization: proxxi
  8. References: <1992Jul29.081247.1@gallua>
  9. Date: Wed, 29 Jul 1992 16:37:04 GMT
  10. Lines: 60
  11.  
  12. CADS_COLE@GALLUA.BITNET (Kevin Cole; Washington DC) writes:
  13.  
  14. >Date Sent:  29-Jul-1992  08:09:36
  15.  
  16. >Greetings from the void,
  17.  
  18. >Here's a very short C program that doesn't do what the documentation claims. 
  19. >According to Matt Dillon's DICE documents, I can limit the range of values
  20. >returned by rand() if I define the variable RAND_MAX to something other than
  21. >the default.  I've tried various values, but I continue to get these huge
  22. >(32-bit) numbers.  Tell me I'm not missing something obvious. 
  23.  
  24. >Thanx.
  25.  
  26. >     #include <stdio.h>
  27. >     #include <stdlib.h>
  28. >     #define RAND_MAX ((1023))
  29. >     main()
  30. >     {
  31. >      int i;
  32. >      for (;;)
  33. >      {
  34. >       i = rand();
  35. >       printf("Random number %04X (%d)\n",i,i);
  36. >      }
  37. >      return(0);
  38. >     }
  39. >-- 
  40.  
  41. I have never used DICE but it looks like RAND_MAX is an extern int.
  42.  
  43. Try this instead:
  44.  
  45. #include < stdio.h>
  46. #include <stdlib.h>
  47.  
  48. extern int RAND_MAX;
  49.  
  50. main()
  51. {
  52.     int i;
  53.  
  54.     RAND_MAX = 1023;
  55.     for(;;){
  56.         i = rand();
  57.         printf( "Random number %04X (%d)\n", i, i );
  58.     }
  59.     return( 0 );
  60. }
  61.  
  62. > ========== U.S. Mail =============================== E-Mail =================
  63. > Kevin Cole      <Flatline>           |  Bitnet: CADS_COLE@GALLUA.BITNET
  64. > Gallaudet Research Institute  (GRI)  |  Internet: KJCOLE@GALLUX.GALLAUDET.EDU
  65. > Washington, D.C.  20002-3625         |  UUCP: ...!psuvax!gallua.bitnet!kjcole
  66. > (202) 651-5575  x4592                |  The WELL:   kjcole
  67.  
  68. ###################
  69. # Elias Martenson #
  70. # elias@proxxi.se #
  71. ###################
  72.