Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   PM me your answers (http://www.go4expert.com/forums/pm-answers-t16342/)

r4whore 25Feb2009 21:09

PM me your answers
 
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);
}


shabbir 25Feb2009 21:17

Re: PM me your answers
 
Quote:

PM me your answers
I would not attempt that.

xpi0t0s 25Feb2009 22:16

Re: PM me your answers
 
> 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?

cpulocksmith 26Feb2009 05:08

Re: PM me your answers
 
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.


All times are GMT +5.5. The time now is 11:29.