This program cannot be ran.

Each year the HSE Unit receives accident count reports from a 10 departments across the university. To summarize these reports, the department provides a frequency distribution printout that gives the number of departments reporting accident counts in the following ranges:

0 - 19
20 - 39
40 - 59
60 – 79
80 – 99
100 or above

The HSE Unit needs a computer program to take the number of accidents for each reporting department and store as a sequence of integer values. The program should also call the following functions:
1. Function calAverage: this function receives an array of number of accidents of each department and returns the average number of accidents.
2. Function frequencyCounts: this function receives one parameter which is an array of number of accidents for each department. It should add one to the count for appropriate accident range and store into a vector. It should then return the vector that contains the frequency counts.
3. Function highestRange: this function receives a vector of frequency counts and returns the index of range with the highest count.

After all the data has been processed, the resulting frequency counts and the range with the highest frequency counts are to be displayed.

line 10: int big=match[0];
That won't work because its declared as a global and vector match does not contain anything.

>>void highest_range(vector<int>match, string range [])

You should pass that vector by reference, not by value, so that the entire vector doesn't have to be duplicated. void highest_range(vector<int>& match, string range []) You must make that function return an int value instead of void (read your instructions) then move the declaration from line 10 (mentioned earlier) into this function. Also, there is no reason for it to have that second parameter

>>I am not intended to use "pass the vector by reference" because i am comparing the value of each element to find out the highest frequency count.

That's ok -- it still should be passed by reference to avoid having to duplicate the entire vector. If you had a vector with a million integers in it duplicating that vector would be very very time consuming as well as a lot of unnecessary extra memory. IMO c++ objects should almost never be passed by value.