how to generate random numbers between a and b?
is there any in-built function?

C++ offers the rand() function to generate pseudo-random numbers.
Here's a quick and dirty example using rand.

#include<iostream>

int main(int argc,char** argv)
{
   int lowBound = 0;
   int upBound = 0;
   int random = 0;

   //Get lower bound (a)
   std::cout << "Input lower bound: ";
   std::cin >> lowBound;
   std::cout << std::endl;

   //Get upper bound (b)
   std::cout << "Input upper bound: ";
   std::cin >> upBound;
   std::cout << std::endl;

   //Generate the random number in the range a-b using rand()
   random = rand() % upBound + lowBound;

   //Output
   std::cout << "Here is your random number: " << random << ".\n";

   return 0;
}

Hope this helps!

P.S. rand() is good, but it is far from perfect. If you need some of the advanced random distributions, you'll probably need to find a custom library - there are tons available for statistics/probability analysis.

This question has already been answered. Start a new discussion instead.