The mode of a list of values is the score

Assignment Help Basic Computer Science
Reference no: EM13164945

For this project you will write a program to compute the arithmetic mean (average), median, and mode for the values read in from TopicFin.txt. The program results will be written to TopicFout.txt.

The mode of a list of values is the score that occurs most often. The median is the value in the middle of the list. If there are an odd number of values in the list, then the median value can be determined by selecting the value at last / 2 where last is the last index that has a value in the array. If the list has an even number of values, then the median is the average of the value at last / 2 and last / 2 + 1. Using the list at the bottom of page 469 in the text, the median is the average of the values at index 2 (5 / 2) and index 3 (5 / 2 + 1) à 5 + 7 / 2 = 6. So 6 is the median value of the list. Notice that 6 is not actually a value in the list.

The program will have a vector and an array. The vector will contain the values read in from the file. The array will contain those values in sorted order. You can assume that there will be no more than 1300 values. However, your program must handle files values less than 1300. You can assume that a file will have values and that these will be valid values.

At a minimum your program must have the following functions:

  • readInput - This function reads the values in the file into the vector. It returns the sum of the values in the file. This is used by main to calculate the average. If the file cannot be found, the function should return a value of 0 for the total. This will prompt main to end the program. main will display an error message in this case.
  • copy - A function to copy the vector data into the array.
  • sort - This function is a void function which sorts the values. The sorted values are stored in the array. When the function ends, main should have the array with the sorted values and the vector with the values in their original order. Feel free to base your function on one of the text's sort functions.
  • calculateMode - This is a void function which determines the mode of the array and how many times that value is in the list. This function requires that the list be sorted, therefore it uses the array not the vector.
  • writeToFile - This void function writes the values in the list to the output file. There should be two of these functions, one for the array and one for the vector. That is, this function is overloaded.

I am supplying a TopicFout.txt file so you can see what output is required.

#include<iostream>
#include<fstream>
#include<vector>
using namespace std;


int readInput(vector<int>&);
void sort(int*, int);
void copy(vector<int>, int*);
void writeToFile(vector<int>, int);
void writeToFile(int[], int);
void calculateMode(int[], int);

int main()
{
   vector<int> data;
   int arr[1300];
   int sum = readInput(data);
   copy(data, arr);
   sort(arr, data.size());
   writeToFile(data, data.size());
   writeToFile(arr, data.size());
   calculateMode(arr, data.size());

   cout << "All Normal Output will be written to the output file.\n\n\n\n" << "Program Over" << endl << "Press Enter to end -->";

   return 0;
}

int readInput(vector<int> &data)
{
   ifstream input("TopicFin.txt");
   int returnVal = 0;
   if (input.is_open())
   {
       int x;
       while (input >> x)
           data.push_back(x), returnVal += x;

   }

   return returnVal;
}

void copy(vector<int> data, int *arr)
{
   for (int i = 0; i < data.size(); i++)
       arr[i] = data[i];

}

void sort(int *arr, int N)
{
   for (int i = 0; i < N; i++)
   for (int j = 0; j + 1 < N; j++)
   if (arr[j] > arr[j + 1])
   {
       int tmp = arr[j];
       arr[j] = arr[j + 1];
       arr[j + 1] = tmp;
   }

}

void calculateMode(int arr[1300], int N)
{
   int val = 1;
   int mode = arr[0];
   int occ_mode = 1;

   ofstream out;
   out.open("TopicFout.txt");
   for (int i = 1; i < N; i++)
   {
       if (arr[i] != arr[i - 1])
           val = 1;
       else
       {
           val++;
           if (val > occ_mode)
               occ_mode = val, mode = arr[i];
       }
   }
   out << "\n\nThe median of the values is: " << arr[N / 2] << "\n\n\n";
   out << "The mode of the values is " << mode << " which occurs " << occ_mode << " times.\n\n\n\n" << "Program Over";
   out.close();
}

void writeToFile(vector<int> v, int N)
{

   ofstream out("TopicFout.txt");

   if (out.is_open())
   {

       out << "The values read are:\n";

       int sum = 0;
       for (int i = 0; i < N; i++)
           out << v[i] << " ", sum += v[i];
       out << "\n";

       out << "\n\nAverage of values is " << sum / v.size() << endl;
       out.close();
   }

}

void writeToFile(int v[], int N)
{
   ofstream out;
   out.open("TopicFout.txt");
   out << "\nThe sorted result are:\n";

   for (int i = 0; i < N; i++)
       out << v[i] << " ";

   out << "\n";
   out.close();
}

Reference no: EM13164945

Questions Cloud

Neurophysiological and evolutionary : Provide a framework for the theoretical concepts associated with Donald Hebb the Neurophysiological and Evolutionary write 200-300 cite references
Three most primary forms of loops: the while loop, the do.. : explored the world of loops we have accepted the three most primary forms of loops: the while loop, the do...while loop (even though Python does not use this loop), and the for loop. The for loop has approximately three primary implementations that w..
How many wheels are left over : A manufacturer of bicycles has 4819 wheels, 2305 frames, and 2250 handlebars. How many wheels are left over? How many frames are left over? How many handlebars are left over? Which part limits the production of bicycles?
Plan the testing required for the system : Plan the testing required for the system. You should consider unit, integration, and system testing in your test plan and determine who should participate in the testing.
The mode of a list of values is the score : For this project you will write a program to compute the arithmetic mean (average), median, and mode for the values read in from TopicFin.txt. The program results will be written to TopicFout.txt.
The program should ask the user to enter the student'' answer : Your program should store these correct answers in an array. (Store each question's correct answer in an element of a string array.) the program should ask the user to enter the student's answers for each of the 20 questions, which should be stored i..
Calculate the percent yield if the actual yield : Calculate the percent yield if the actual yield of aluminum oxide is 0.423mol.
What is the composition of vapor of a pentane-hexane : what is the composition of vapor of a pentane-hexane solution that has a vapor pressure of 373 torr at 25 degree celcius? Given is Pure Hexanes and pentanes vapor pressure at 25 degrees celcius. Pentane - 511 torr. Hexane -150 torr.
Geographical reach-local-regional and global : How would you describe the appropriate target market(s) for Banyan Tree?  How wide is its geographical reach-local, regional, global?

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Significant tool to help discover security breaches

Auditing is an significant tool to help discover security breaches, yet many organizations do not implement auditing practices.

  Calculate and display height and cost of container

Compute and display the height and cost of the container. Use the following formulas, where V is the volume, r is the radius, h is the height, and C is the cost.

  Variety of web-based applications of google account

Google presents a variety of web-based applications/products through accessing Google account from any computer with internet connection.

  Explain enterprise architecture using zachman framework

In your opinion, does framework necessarily lead to the top-down approach to development, e.g. you start with models in row 1, then work on row 2 models, and so on?

  As a beginning business analyst

As a beginning business analyst, you have been tasked by the project manager to develop the system requirements related to the handling of outstanding purchase orders.

  Determine size of one minute mono audio file

Digital audio transducer samples real sound at the rate of 40 kHz and assigns 8 bits to each sample. Determine the size of one minute mono audio file?

  Keyboard combinations that can increase

Microsoft® Word provides keyboard combinations that can increase a user's efficiency. How can these shortcuts simplify the support process for Microsoft® Word

  Approach appropriate for company forefront of technology

However, adopting a secondary approach where others adopt early and a firm learns from their mistakes is often a viable strategy. When is each approach most appropriate and why?

  Why analyst needs to understand how people think

Describe why an analyst needs to understand how people think, how they learn, how they react to change, how they communicate, and how they work.

  Find speedup gain of using simd computer over sisd computer

If both SISD and SIMD machines run at same clock speed, determine the speedup gain of using the SIMD computer over the SISD computer?

  What role to assign to four workstations

What role (or roles) would you assign to each of the four workstations and any other equipment you recommend? What type of upgrades, if any, might the workstations require to make your solution work?

  Policies and provisions to unbundled network elements

What are some of the major policies and provisions under the 1996 Act in regards to unbundled network elements (UNEs).

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd