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

  Programming in mpi

What advantages are gained by programming in MPI as opposed to using threads? Is there a disadvantage to MPI? What?

  How has configuration for connecting input-output changed

How has the configuration for connecting input/output (I/O) devices to computers on the motherboard changed since the late 1980s?

  Explaining reasonable values for items in risk register

Suggest reasonable values for the items in the risk register for this asset and threat, and provide justifications for your choices.

  Importance of top management commitment

Discuss the importance of top management commitment and the development of standards for successful project management. Provide examples to illustrate the importance of these items.

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  The head office of kkae

The head office of KKAE is located in Australia/Sing/India. Documents and reports must be displayed/printed in English. Grammar and spelling in all the documents and output reports follow the English version. For example, some of the foreign salutati..

  Wish to represent an n-vertex graph

Suppose we wish to represent an n-vertex graph G using the edge list structure, assuming we identify the vertices with the integers in the set {0,1,...,n?1}.

  Finding instruction format for indirect addressing

Determine the instruction format, considering that there is no bit for indirect addressing.

  Logic questions

We must allow the traditions of men of old time who affirm themselves to be the offspring of gods that is what they say and they must surely have known their own ancestors.

  How to stop process-freeze its memory image in process

Some multicomputers permit running processes to be migrated from one node to another. Is it adequate to stop process, freeze its memory image, and just ship that off to different node?

  Differences and similarities of the business models

Recognize differences and similarities of the business models, taking into account the following factors: Who is the target audience for this Web site.

  Find companies that specialize in computer forensics

What needs clarified? it's plainly stated use google to find 3 companies that specialize in computer forensics of those 3 companies write 2 or 3 paragraphs comparing what each company does.

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