Xref: news2.mv.net comp.lang.c:66865 comp.os.msdos.djgpp:3561 From: Ronald Fischer Newsgroups: comp.lang.c,comp.os.msdos.djgpp Subject: Re: Use of random Date: 8 May 1996 09:44:23 GMT Organization: Siemens AG,(Hofmannstr) Munich-Germany-Europe. Lines: 94 Message-ID: <4mpqdn$9li@moody.mchh.siemens.de> References: <4mikhp$pa5 AT frodo DOT smartlink DOT net> NNTP-Posting-Host: themse.mchh.siemens.de Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="-------------------------------7102734724240" To: nmarrone AT smartlink DOT net DJ-Gateway: from newsgroup comp.os.msdos.djgpp This is a multi-part message in MIME format. ---------------------------------7102734724240 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii The only problem I see with your program is in the malloc: onesp = (int *)malloc(NUM * 2) Unless it happens that sizeof(int)==2, this won't allocate enough memory and strange results will occur. >but it gives me #s far larger than integers This is not possible with your program. Even if rand would return a long instead of an int (which it is not allowed to), you are storing it into an int, and an int can't hold numbers larger than an int (did you invent a bit-squeeze algorithm which stores two bits into one?). Also, your printf statement prints the ints correctly as int, so I wonder how you came to your strange conclusion. Ronald ---------------------------------7102734724240 Content-Transfer-Encoding: 7bit Content-Type: text/plain From: nmarrone AT smartlink DOT net (Nicholas Marrone) Newsgroups: comp.lang.c,comp.os.msdos.djgpp Subject: Use of random Date: Sun, 05 May 1996 15:51:12 GMT Organization: SmartLink.net Premier ISP 805-294-1273 Message-ID: <4mikhp$pa5 AT frodo DOT smartlink DOT net> Hullo, To test out my radix_bit_sort function, I've been trying to generate a list of random numbers to sort, and then sort them. The list is rather long, 4000, and I'd like it to be ints, but I can' seem to get it! The program compiles and runs without error, but it gives me #s far larger than integers when I print out some results. I'm using DJGPP v2. Here's some of the code... #include #include #include #define NUM 2000 int main() { int ctr; int *origp; int *onesp, *zerop; int ticks; /* for use with the clock in randomizing shtuff */ if ( !(origp = (int *)malloc(NUM * 2)) || !(onesp = (int *)malloc(NUM * 2)) || !(zerop = (int *)malloc(NUM * 2)) ) { printf("Not enough memory to run this program!!!"); } clock(); /* Initialize the clock */ (int *)ticks = clock(); srand(ticks); for (ctr = 0; ctr < NUM; ctr++) { origp[ctr] = rand(); } radix_bit_sort(origp, onesp, zerop, NUM); for (ctr = 0; ctr < 20; ctr++) printf("%d\n", origp[ctr]); free(origp); free(onesp); free(zerop); return 0; } I really need some serious help. Thanks. nicholas ---------------------------------7102734724240--