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 difference of typical salary for system analyst

Is there a significant difference between typical salaries for system analyst, designers, and developers? What is the difference between typical salaries for these different groups?

  Explain description design analyses

Description Design Analyses (perhaps include sub-categories for each process) Description of Units being Designed What do they remove? Explain how do they operate?

  Tools or tactics for risks for computing infrastructure

As part of project to assess security risks for computing infrastructure, you have found that other managers often have different idea. List any tools or tactics that could be used.

  Analysis of executive management team

Give a one to two page analysis summarizing the results to the executive management team of Omega.

  Describing targeted audience go for particular site

Recognize a particular website that you frequently go to and explain targeted audience that goes to that particular site. Do not say "everyone" since all sites always have general target audience.

  Financial impact of change on wvu students

Currently, PRT riders who are not WVU students or employees must pay $0.50 per trip. Assume that this charge was eliminated.

  Weighted probabilities for x86 processors

Create a procedure that receives a value N between 0 to 100. When the procedure is called, there should be a probability of N/100 that it clears the Zero flag. Write a program that asks the user to enter a probability value 0 to 100.

  Facilitate assembly of information for business decisions

This module is about "business intelligence" and tools which facilitate assembly of information/knowledge in ways which enable "better" business decisions to be made.

  Select a current trend in area of telecommunications

Research and select a current trend in the area of telecommunications. Find the topic and send to instructor for approval. Then, prepare a 10-15 page paper in Microsoft Word.

  What percentage of total cpu time is spent keeping clock

What percentage of the total CPU time is spent maintaining a clock that is accurate to a resolution of one millisecond?

  The arrangement of a group of variables along a grid

a two-dimensional array is nothing more than the arrangement of a group of variables along a grid. Each variable occupies a specific row and column

  Use a truth table to determine whether

Use a truth table to determine whether or not the following argument form is valid. You can  justify  your answer by doing the following: indicate which columns represent the premises and which represent the conclusion;

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