Perfect Random Number Generator in C/C++

C, C++, Visual C++, C++.Net Topics
Post Reply
User avatar
Neo
Site Admin
Site Admin
Posts: 2642
Joined: Wed Jul 15, 2009 2:07 am
Location: Colombo

Perfect Random Number Generator in C/C++

Post by Neo » Thu Mar 18, 2010 10:58 pm

Note that the function GetRandomNumber accepts two parameters. These are the lower and upper limits (inclusive) of random numbers that are generated.

Code: Select all

#include <stdio.h>
#include <stdlib.h>
#include <time.h> // for time()


// Generate a random number between nLow and nHigh (inclusive)
unsigned int GetRandomNumber(int nLow, int nHigh){

	return (rand() % (nHigh - nLow + 1)) + nLow;
}


void main(){

	int i;

	srand(time(0)); // set initial seed value to system clock

	// Generate 100 random numbers
	for (i = 0; i < 100; i++){
		printf("%d\t", GetRandomNumber(0, 3));
	}
}
User avatar
Saman
Lieutenant Colonel
Lieutenant Colonel
Posts: 828
Joined: Fri Jul 31, 2009 10:32 pm
Location: Mount Lavinia

Re: Perfect Random Number Generator in C/C++

Post by Saman » Wed Mar 24, 2010 2:45 pm

For embedded systems (like microcontrollers and DSPs) you will not be able to find a time function sometimes. Here is the best solution for that. Random number generator for microcontrollers (PIC, Atmel)
Post Reply

Return to “C/C++ Programming”