Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program that can be used to gather statistical data about the number of

ID: 3623752 • Letter: W

Question


Write a program that can be used to gather statistical data about the number of movies college students see in a month. The program should perform the following steps:
a. Ask user how many students were surveyed and dynamically allocate an array of that size.
b. Allow the user to enter the number of movies each student saw into the array.
c. Write a function that will return the average value of the array. This function will accepts 2 arguments: An array of integers An integer indicating the number of elements in the array
d. Write a function that will return the median of the array. This function will accepts 2 arguments: An array of integers An integer indicating the number of elements in the array
In statistics the median of a set of values is the value that lies in the middle when the values are arranged in sorted order. If the set has an even number of values, then the median is taken to be the average of the two middle values.
e. Write a function that will return the mode of the array. This function will accepts 2 arguments: An array of integers An integer indicating the number of elements in the array
Mode is the value that occurs most often.
f. Calculate (by calling appropriate functions you have defined above), and display the average, median, and mode of the values entered.
This assignment is adapted from Gaddis’s Starting Out with C++

Explanation / Answer

please rate - thanks


#include <iostream>
using namespace std;
void getinfo(int*, int);
void sort(int [], int);
double average(int*, int);
double median(int*, int);
int   get_mode(int*, int);
int main()
{ int*array;  
   int num;      
   int mode,i,range;
    float avg;
    cout<<"enter number of students? ";
    cin>>num;
   while(num<=0)
    {cout<<"Invalid Entry ";
    cout<<"enter number of students? ";
    cin>>num;
    }
array = new int[num];
      getinfo(array, num);
   cout<<" The array is: ";
   for(i=0;i<num;i++)
       cout<<"student "<<i+1<<" saw "<<*(array+i)<<" movies. ";
   sort(array, num);
   cout << " the median is "<<median(array, num) << endl;
   cout << "the average is "<<average(array, num) << endl;
   mode = get_mode(array, num);
   if (mode == -1)
         cout << "no mode. ";
   else
         cout << "The mode is " << mode << endl;
delete [] array;
system("pause");
   return 0;
}
void getinfo(int a[], int n)
{int i;
   for (i= 0;i<n;i++)
      {do
         {cout<<"How many movies did student "<<(i+1)<< " see? ";
          cin >> a[i];
             if(a[i]<0||a[i]>100)
                 cout<<"Invalid entry, Please enteer a value between 0 and 100 ";
          }while(a[i]<0||a[i]>100);
      }
}
double average(int a[], int num)
{ int tot = 0,i;
   double avg;
   for (i= 0;i<num; i++)
       tot += a[i];
   avg=(double)tot/num;
   return avg;
}

void sort(int a[], int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
     for(j=i;j<n;j++)
        if(a[i]>a[j])
           {t=a[i];
           a[i]=a[j];
           a[j]=t;
           }
}
double median(int* a, int n)
{ int m1,m2;
   if (n%2==0)
        {m1=n/2;
         m2=(n/2)-1;
         return((*(a+m1)+*(a+m2))/2.);
        }
   else
        
   return *(a+(n/2));
}
int get_mode(int* a, int n)
{
   int* count,most,index,i,j;
   count= new int[n];
   for (i= 0;i< n;i++)
         count[i] = 0;
   for(i=0;i<n;i++)
      {for(j=0;j<n;j++)
           {if (*(a+j)==*(a +i))
               (*(count+i))++;
            }
      }
   most=*count;
   index=0;
   for (i=1;i<n;i++)
      {if (*(count+i) >most)
      {most=*(count+i);
       index=i;
      }
   }
   if (most == 1)
         return -1;
   else
         return *(a+index);
}



Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote