PM me your answers

r4whore's Avatar, Join Date: Feb 2009
Newbie Member
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
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Quote:
PM me your answers
I would not attempt that.
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
> Add the required checking and sort the numbers before you print them.

Um, why? This looks like a homework assignment that YOU have been given to do.
So you should do it, or at least fess up that you want some help.

> Could you think of a better strategy for generating the 6 different numbers?

Yep, but that's not the question is it? The question is whether or not YOU can think of a better strategy.
Can you? For example suppose I want 6 unique numbers and I think of 20, 17, 9, 41, 17...stop right there. How would I know that 17 is a duplicate?
0
cpulocksmith's Avatar, Join Date: Jul 2008
Skilled contributor
hey r4whore, please around here do not minding helping people. but they dont like to be scammed into helping people, if you were to come on here and say. "i got this homework assignment and i cant figure something out do you think you guys could help me out a little?" i am sure that some one here would help you. they may not give you the answer because they believe that the best way to learn it to figure something out for yourself. but at lest you would get some help.