In the program below you will see that 6 random numbers in the range 1..49 are
stored in the selected array before it is printed. No checking is done to see if the
same number occurs more than once.
Add the required checking and sort the numbers before you print them.
Could you think of a better strategy for generating the 6 different numbers?
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TOTAL_NUMBER 6
void seed_generator(void);
int get_rand_in_range(int from, int to);
int main(void)
{
int i;
int selected[TOTAL_NUMBER];
seed_generator();
for(i = 0; i < TOTAL_NUMBER; i++)
selected[i] = get_rand_in_range(1, 49);
for(i = 0; i < TOTAL_NUMBER; i++)
printf("%i\t", selected[i]);
printf("\n");
return 0;
}
int get_rand_in_range(int from, int to)
{
int min = (from > to) ? to : from;
return rand() % abs(to - from + 1) + min;
}
void seed_generator(void)
{
time_t now;
now = time(NULL);
srand((unsigned)now);
}

Last edited by shabbir; 25Feb2009 at 21:16.. Reason: Code blocks