Sponsored Content
Full Discussion: Random number is not reused
Top Forums Programming Random number is not reused Post 302376047 by shamrock on Monday 30th of November 2009 12:17:03 PM
Old 11-30-2009
Quote:
Originally Posted by limmer
I tried deleting the RANDOM function and placing its contents inside main, then use a variable to feed the random number to the other functions. This works yet it defeats the whole purpose of using a function to generate a random number.
Why does it have to be so since a function call is more expensive.
Quote:
Originally Posted by limmer
This is for a website, so having to include this bunch of code inside every single webpage is kind of inefficient... That is why I wanted to use a single function.

Is there no other way of achieving this by reusing the RANDOM function???
You can make the RANDOMNUMBER a static variable and avoid using caps for names...
Code:
int RANDOM(void)
{
    srand((unsigned int)time(NULL));

    static int RANDOMNUMBER = rand() % 99999; // create a random 5 digit number to be reused in other functions
    

    if (RANDOMNUMBER < 10000)
    {
        RANDOMNUMBER = RANDOMNUMBER + 10000; // correction because sometimes the number generated is 4 digits long
    }

    return RANDOMNUMBER;
}

 

10 More Discussions You Might Find Interesting

1. Programming

How to generate a random number?

How to generate a random integer with specific range(for example, from 1 to 1000)? Also, how to convert a floating point number into a integer? (2 Replies)
Discussion started by: MacMonster
2 Replies

2. Programming

random number logic -- issue

I use standard C random number generation logic in my application. long nCounter; long lRndNo; char rand; srand48(nCounter); lRndNo = lrand48(); sprintf(rand,"%010.10d",lRndNo); However we always find that the rand generated starts with '0','1' or '2'. I could not logically prove if... (1 Reply)
Discussion started by: asutoshch
1 Replies

3. Programming

Random number generation

Hi...How can I generate random numbers between a given range ...preferably between 1 and 100...in UNIX C programming...? I tried out functions like rand(),drand48() etc but didnt get satisfactory results... Thanks a lot in advance.......... (1 Reply)
Discussion started by: tej.buch
1 Replies

4. Shell Programming and Scripting

Regarding Random Number Genration

HI please help me in solving this issue. I have a shell script which consists of ten statemnts ( i mean 10 executable statments)...........and if i run that script the 10 statmenst will execute continously ............ But now my probelm is i have to write another script --> to... (0 Replies)
Discussion started by: lalitka
0 Replies

5. Shell Programming and Scripting

ksh: random number between 1-10

How do I create a random number between 1 and 10 in kornshell? (2 Replies)
Discussion started by: dangral
2 Replies

6. Programming

C Help; generating a random number.

Im new to C, and Im having a hard time getting a random number. In bash, I would do something similar to the following to get a random number; #!/bin/bash seed1=$RANDOM seed2=$RANDOM seed3=$RANDOM SEED=`expr $seed1 * $seed2 / $seed3` echo ${SEED%.*} Now, in online examples... (4 Replies)
Discussion started by: trey85stang
4 Replies

7. Programming

Generate random number

I saw this formula to generate random number between two specified values in shell script.the following. $(((RANDOM%(max-min+divisibleBy))/divisibleBy*divisibleBy+min)) Give a example in book. Generate random number between 6 and 30.like this. $(((RANDOM%30/3+1)*3)) But I have a... (1 Reply)
Discussion started by: luoluo
1 Replies

8. Shell Programming and Scripting

Random pieces of number

Hello folks, i have number for example 10 and i want to divide into 4 random pieces that may be (6+2+1+1). How can i do this via script i have random number 234951 and i want to divide into 31 pieces. (6 Replies)
Discussion started by: learnbash
6 Replies

9. Shell Programming and Scripting

Create random number

Hi, I'm trying to create a script that will print random numbers with length of three. Below is the expected out. 928-377-899 942-458-310 951-948-511 962-681-415 995-161-708 997-997-209 thanks (4 Replies)
Discussion started by: reignangel2003
4 Replies

10. Programming

random number

How can I choose randomly the row numbers of my file in awk? (4 Replies)
Discussion started by: Homa
4 Replies
RAND(3) 						   BSD Library Functions Manual 						   RAND(3)

NAME
rand, rand_r, srand, sranddev -- bad random number generator LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> int rand(void); int rand_r(unsigned *seed); void srand(unsigned seed); void sranddev(void); DESCRIPTION
These interfaces are obsoleted by arc4random(3). The rand() function computes a sequence of pseudo-random integers in the range of 0 to RAND_MAX (as defined by the header file <stdlib.h>). The srand() function sets its argument seed as the seed for a new sequence of pseudo-random numbers to be returned by rand(). These sequences are repeatable by calling srand() with the same seed value. If no seed value is provided, the functions are automatically seeded with a value of 1. The sranddev() function initializes a seed, using the random(4) random number device which returns good random numbers. However, the rand() function still remains unsuitable for cryptographic use. The rand_r() function provides the same functionality as rand(). A pointer to the context value seed must be supplied by the caller. SEE ALSO
arc4random(3), random(3), random(4) STANDARDS
The rand() and srand() functions conform to ISO/IEC 9899:1990 (``ISO C90''). The rand_r() function is as proposed in the POSIX.4a Draft #6 document. BSD
May 25, 1999 BSD
All times are GMT -4. The time now is 02:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy