I dont seem to compile it. Please help me to check and guide me through. Please. Help really needed.

Question:

Write a program to show the operation of the random number generator.

The program will generate a specified number of random numbers in a given range.

It will count the number of times each number occurs.

It will display on the screen how many times each number occurred, in the form:

0 occurred 100 times

1 occurred 102 times

2 occurred 98 times

etc.

It will calculate the minimum number of occurrences, the maximum number of occurrences and the number of times each number could be expected.

e.g.

Minimum count =98, maximum count =102, expected count =100.

Use date_time_seed() and rand() (see example program below)

The prpgram will accept the following single keystroke commands from the keyboard ..

• ‘R’ to run the program, prompting for the number range and the number of numbers to generate. After running it prompts for either R or Q again.

• ‘Q’ to quit the program.

Code:#include <stdlib.h> #include <stdio.h> #include <DBOS\LIB.h> #include <CLIB.H> void count_nums(int *a, int range, int num); int my_rand(int); int get_max(int *a, int s); int get_min(int *a, int s); int main(void) { int range, num; /*!! foo.c:14: warning: implicit declaration of function ‘date_time_seed’ */ date_time_seed(); /*!! foo.c:15: warning: ISO C90 forbids mixed declarations and code */ int a[50], t[50]; char c; int s, i; printf(" * Please press r/R to run or press q/Q to exit *\n"); /*!! foo.c:20: warning: implicit declaration of function ‘getch’ */ c = getch(); /*run by pressing r and exit by pressing q */ if (c == 'r' || c == 'R') { /*accept both lower and upper case */ /*move to next statment only if the input in range 1 to 20 */ do { printf("Enter the range size(max=20)"); scanf("%d", &range); } while (range < 0 || range > 20); printf("How many numbers do you wish to generate?"); scanf("%d", &num); date_time_seed; count_nums(a, range, num); for (i = 0; i < range; i++) printf("%d:%d\n", i, t[i]); printf("Maximum count:%d\n", get_max(a, range)); printf("Minimum count:%d\n", get_min(a, range)); printf("Expected: %d\n", (int) (num / range)); } if (c == 'q' || c == 'Q') exit(1); return (0); } int my_rand(int range) { int r; date_time_seed(); r = 1 + rand() % range; return r; } void count_nums(int *a, int range, int num) { int i; int t[50]; for (i = 0; i <= num; i++) { a[i] = my_rand(range); t[i] = 0; t[a[i]]= t[a[i]]+1; printf("%d", a[i]); } } /* function to find the max */ int get_max(int *a, int s) { int i, max; max= *a; for (i = 0; i < s; i++) if (*(a + i) > max) max = *(a + i); return (max); } /*function to find the min */ int get_min(int *a, int s) { int i, min; min = *a; for (i = 0; i < s; i++) if (*(a + i) < min) min = *(a + i); return (min); }