Hi. I am creating a program for class that can be used to gather statisctical data about the number of movies college students watch in a certain time frame. I have to find the average, median and mode and show this in the output. I am able to get my program to compile and run, but the output is not correct. Can anyone help with this please?

Here is the code:

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

int *students; //dynamic allocator

int stdSurveyed; //amount of students surveyed, user input

int total = 0;

int *frequency;

double average = 0, median = 0, mode = 0;

// USER INPUT

cout << "How many students are being surveyed? ";

cin >> stdSurveyed;

students = new int[stdSurveyed]; //allocated memory.

//EACH STUDENT INPUT

cout << "How many movies did each student see? Enter below: " << endl;

for (int count = 0; count < stdSurveyed; count++)

{

cout << "Student " << (count + 1) << ": ";

cin >> students[count];

}

//AVERAGE

for (int count = 0; count < stdSurveyed; count++)

{

total += students[count];

}

average = total / stdSurveyed;

cout << "The average is: " << average << endl;

//MEDIAN

if (total % 2 == 0)

{

median = ((students[total/2-1])+(students[total/2])/2.0);

}

else if (total % 2 == 1)

{

median = students[total/2];

}

cout<< "The median is: " << median << endl;

//MODE

int x;

int freq = 0;

frequency = new int[freq];

for (int count = 0; count < stdSurveyed; count++)

{

x=students[total];

frequency[x]++;

}

cout << "The mode is: " << mode << endl;

delete [] students;

students = 0;

system ("pause");

return 0;

}

And here is what the output looks like:

How many students are being surveyed? 5

How many movies did each student see? Enter below:

Student 1: 1

Student 2: 2

Student 3: 2

Student 4: 2

Student 5: 3

The average is: 2

The median is: 3

The mode is: 0

Press any key to continue . . .