Random # everytime (my code)

This is a discussion on Random # everytime (my code) within the C++ Programming forums, part of the General Programming Boards category; I thought of a new and easy(i think) way to come up with random numbers everytime you call a function. ...

  1. #1
    Registered User Paz_Rax's Avatar
    Join Date
    Jan 2004
    Posts
    16

    Question Random # everytime (my code)

    I thought of a new and easy(i think) way to come up with random numbers everytime you call a function. This seems just to easy I was wondering if anyone could find a flaw of some sort with the code:

    Code:
         int Random(int min, int max){
            int *number = new int( (rand() % max) + min);
            int final = *number;
            delete number;
            return final;
    }
    I'm sorry if this has been posted I made a quick search and found nothing.
    Thanks
    -Paz
    "Life, it's all in how you script it."

  2. #2
    Senior Member joshdick's Avatar
    Join Date
    Nov 2002
    Location
    Phildelphia, PA
    Posts
    1,146
    Your function does nothing special. There's no reason to use dynamic memory allocation there. Just seed the random number generator using the time once at the beginning of the program and call rand() as many times as you need.
    FAQ

    "The computer programmer is a creator of universes for which he alone is responsible. Universes of virtually unlimited complexity can be created in the form of computer programs." -- Joseph Weizenbaum.

    "If you cannot grok the overall structure of a program while taking a shower, you are not ready to code it." -- Richard Pattis.

  3. #3
    Confused Magos's Avatar
    Join Date
    Sep 2001
    Location
    Sweden
    Posts
    3,145
    It should be rand() % (max - min + 1), otherwise you (might) break the upper limit. And as pointed out your dynamic allocation is not neccessary. This one is also more bulletproof in case someone enters a max that is less than min.
    Code:
    int Random(int Min, int Max)
    {
      return (Max >= Min) ? ((rand() % (Max - Min + 1)) + Min) : 0;
    }
    MagosX.com

    Give a man a fish and you feed him for a day.
    Teach a man to fish and you feed him for a lifetime.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Another brain block... Random Numbers
    By DanFraser in forum C# Programming
    Replies: 2
    Last Post: 01-23-2005, 05:51 PM
  2. Obfuscated Code Contest
    By Stack Overflow in forum Contests Board
    Replies: 51
    Last Post: 01-21-2005, 04:17 PM
  3. << !! Posting Code? Read this First !! >>
    By biosx in forum C++ Programming
    Replies: 1
    Last Post: 03-20-2002, 12:51 PM
  4. Replies: 25
    Last Post: 10-28-2001, 01:08 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21