In: Computer Science
Write a C++ program that inputs a sequence of integers into a vector, computes the average, and then outputs the # of input values, the average, and the values themselves. There are 0 or more inputs values, followed by a negative value as the sentinel; the negative value is not stored and not counted. The following sample input:
10 20 0 99 -1
would produce the following output:
N: 4 Avg: 32.25 10 20 0 99
The main program has been written for you, your job is to implement the two functions InputData andGetAverage. See the comments in the "student.cpp" file for specific implementation details.
main.cpp
#include <iostream>
#include <vector>
using namespace std;
// functions from student.cpp:
int InputData(vector<int>& V);
double GetAverage(vector<int> V, int N);
int main()
{
// assume at most 100 inputs:
vector<int> inputs(100);
int N;
double avg;
N = InputData(inputs);
avg = GetAverage(inputs, N);
cout << "N: " << N << endl;
cout << "Avg: " << avg << endl;
for (int i = 0; i < N; ++i)
{
cout << inputs.at(i) << endl;
}
return 0;
}
student.cpp
int InputData(vector<int>& V)
{
// TODO
  
return 0;
}
//
// GetAverage
//
// Returns the average of the first N values in the vector; if N is
0 then
// 0.0 is returned.
//
double GetAverage(vector<int> V, int N)
{
// TODO
return 0.0;
}
need to change the code for desired functionality of program.
if you don't want to change main program then just copy the 2 function added at last in the code.
here is edited code:
main.cpp :
#include <iostream>
#include <vector>
using namespace std;
// functions from student.cpp:
int InputData(vector<int>& V);
double GetAverage(vector<int> V, int N);
int main() {
   // declare variables
   vector<int> inputs;
   int N;
   double avg;
   // get input from user
   cout << "Enter numbers to calculate Average
:(enter negative number to stop entering)" << endl;
   int input; // variable input to store input number
from use
   // while loop to get input numbers
   while (true) {
       cin >> input; // get user
input
       if (input < 0) {
           // negative
number act as sentinel value
           break; // break
the while loop and calculate average
       }
       else {
           // add number to
vactor
          
inputs.push_back(input);
       }
   }
   N = InputData(inputs);
   avg = GetAverage(inputs, N);
   cout << "N: " << N << endl;
   cout << "Avg: " << avg <<
endl;
   for (int i = 0; i < N; ++i)   {
       cout << inputs.at(i) <<
endl;
   }
   return 0;
}
int InputData(vector<int>& V){
   return V.size();
}
// Returns the average of the first N values in the vector; if N
is 0 then
// 0.0 is returned.
double GetAverage(vector<int> V, int N)
{
   if (N == 0) {
       return 0.0;
   }
   else {
       int sum = 0; //sum of total numbers
counted
       // loop for each number to count
average
       for (int i = 0; i < N; i++)
{
           sum = sum +
V.at(i); // add each number to the sum
       }
       // calculate average
       double avg = sum / (N * 1.0);
//multiply by 1.0 to get double division insted of integer
division
       return avg;
   }
}


