Random number is not reused


 
Thread Tools Search this Thread
Top Forums Programming Random number is not reused
# 8  
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?
Quote:
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.
An entire function call is more efficient than retrieving one variable? I think not.
Quote:
Is there no other way of achieving this by reusing the RANDOM function???
All these attempted solutions effectively do the same thing: Call rand() once, store the value, use it many times. Calling RANDOM() repeatedly is overhead on top of this, not "more efficient".
# 9  
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  
Old 11-30-2009
Quote:
Originally Posted by shamrock
You can make the RANDOMNUMBER a static variable
No you can't. Same error: initializer is not a constant. That only works in C++.
# 11  
Old 11-30-2009
Quote:
Originally Posted by Corona688
No you can't. Same error: initializer is not a constant. That only works in C++.
It works with C source as long as it is compiled with a C++ compiler.
# 12  
Old 11-30-2009
Which is something the OP obviously isn't using.
# 13  
Old 11-30-2009
Nothing stops the OP from using the freeware gcc-g++ compiler.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

random number

How can I choose randomly the row numbers of my file in awk? (4 Replies)
Discussion started by: Homa
4 Replies

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question