Question 3 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? #include #include #include #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); }
Question 3
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?
#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);
}
Step by step
Solved in 4 steps with 2 images