codescracker
c++

C++ Program to Generate Random Numbers



« Previous Program Next Program »


In this article, you will learn and get code to generate and print random numbers in C++ language. Here are the list of programs on random numbers:

How to Generate Random Numbers ?

To generate random number, use rand() function. This function is defined in stdlib.h header file.

Generate 10 Random Numbers

This program generates and prints 10 random numbers using for loop and rand() function.

// C++ Program to Generate 10 Random Numbers
// ----codescracker.com----

#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
    int i;
    for(i=0; i<10; i++)
        cout<<rand()<<endl;
    cout<<endl;
    return 0;
}

This program was build and run under Code::Blocks IDE. Here is its sample output:

C++ program generate random numbers

Note - If you re-run the above program, then it'll produce the same 10 random numbers as produced previously. So to solve this problem and generate random numbers without repetition, we've another program for you.

Generate Random Numbers without Repetition

This is the program that generates random numbers without repetition. Here we've used srand() (seed random) function to set the initial point for generating random numbers using time() function.

Note - The time() function is used to set initial point for srand() function. Here we've used time() function, because it is the thing that is continuouly changing its value.

The function time() is defined in time.h header file. So don't forgot to include this header file, before executing the program given below. Rest of the things are same as in previous program.

// C++ Generate Random Numbers without Repetition
// ----codescracker.com----

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
    int i;
    srand(time(0));
    for(i=0; i<10; i++)
        cout<<rand()<<endl;
    cout<<endl;
    return 0;
}

This program produces the same output as of previous program. The only difference is, everytime while executing this program, we'll get random numbers without repetition. Or we'll get different-different random numbers.

Generate Random Numbers in Given Range

This is the last program, that generates random numbers in given range. The range must be provided by user at run-time

That is, this programs asks from user to enter the interval first. For example, if user enters interval as 5 and 20, then program further asks to enter the amount say 10, to generate 10 random numbers between 5 and 20. Let's have a look at the program

// C++ Generate Random Numbers in Given Range
// ----codescracker.com----

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
    int i, rnum, amount, first, last;
    cout<<"Enter the Interval: ";
    cin>>first>>last;
    cout<<"How many Random Numbers to Generate ? ";
    cin>>amount;
    cout<<"\nList of "<<amount<<" Random Numbers Between "<<first<<" and "<<last;
    srand(time(0));
    for(i=0; i<amount; i++)
    {
        rnum = rand()%(last+1-first)+first;
        cout<<endl<<rnum;
    }
    cout<<endl;
    return 0;
}

Here is its sample run. This is the initial output produced by this program:

generate random numbers in given range c++

Now enter the interval say 1 and 100, then enter the amount say 10 to generate 10 random numbers between 1 to 100. That is, after supplying these inputs, program will print 10 random numbers, where all random numbers must be greater than or equal to 1 and less than or equal to 100:

c++ print random numbers in given range

Same Program in Other Languages


« Previous Program Next Program »