In this lab, you complete a C++ program that uses an array to store data for the village of Marengo.
The program is described in Chapter 8, Exercise 5, in Programming Logic and Design. The program should allow the user to enter each household size and determine the mean and median household size in Marengo. The program should output the mean and median household size in Marengo. The file provided for this lab contains the necessary variable declarations and input statements. You need to write the code that sorts the household sizes in ascending order using a bubble sort and then prints the mean and median household size in Marengo. Comments in the code tell you where to write your statements.
Instructions
Make sure that the file HouseholdSize.cpp is selected and open.
Write the bubble sort.
Output the mean and median household size in Marengo.
Execute the program by clicking the Run button and the bottom of the screen.
Enter the following input, and ensure the output is correct. Household sizes: 4, 1, 2, 4, 3, 3, 2, 2, 2, 4, 5, 6 followed by 999 to exit the program.
Here is my code so far. I need help finishing it (printing the mean & median, etc). Thanks so much:
// HouseholdSize.cpp - This program uses a bubble sort to arrange up to 300 household sizes in
// descending order and then prints the mean and median household size.
// Input: Interactive.
// Output: Mean and median household size.
#include
#include
using namespace std;
int main()
{
// Declare variables.
const int SIZE = 300; // Number of household sizes
int householdSizes[SIZE]; // Array used to store 300 household sizes
int x;
int limit = SIZE;
int householdSize = 0;
int pairsToCompare;
bool switchOccurred;
int temp;
double sum = 0;
double mean = 0;
double median = 0;
// Input household size
cout << "Enter household size or 999 to quit: ";
cin >> householdSize;
// This is the work done in the fillArray() function
x = 0;
while(x < limit && householdSize != 999)
{
// Place value in array.
householdSizes[x] = householdSize;
// Calculate total of household sizes
sum+= householdSizes[x];
x++; // Get ready for next input item.
cout << "Enter household size or 999 to quit: ";
cin >> householdSize;
} // End of input loop.
limit = x;
// Find the mean
// This is the work done in the sortArray() function
pairsToCompare = limit - 1;
switchOccured = true;
while(switchOccured == true)
{
x = 0;
switchOccured == false;
while (x < pairsToCompare)
{
if(householdSizes[x]) > householdSizes[x+1])
{
//perform switch
}
x++;
}
pairsToCompare--;
}
// This is the work done in the displayArray() function
//Print the mean
// Find the median
median = (limit-1) / 2;
if (limit % 2 ==0)
{
cout << "Median is: " << (householdSizes[(int)median] + householdSizes[(int)median + 1]) / 2.0 << endl;
}
else {
// Print the median household size
}
// Print the median
return 0;
} // End of main function

Respuesta :

Answer:

For the mean, do the following:

mean = sum/limit;

cout<<"Mean: "<<mean;

For the median do the following:

for(int i = 0; i<limit; i++) {

  for(int j = i+1; j<limit; j++){

     if(householdSizes[j] < householdSizes[i]){

        temp = householdSizes[i];

        householdSizes[i] = householdSizes[j];

        householdSizes[j] = temp;       }    } }

median= (householdSizes[(limit-1)/2]+householdSizes[1+(limit-1)/2])/2.0;

if((limit - 1)%2==0){

   median = householdSizes[limit/2];

}

cout<<endl<<"Median: "<<median;

Explanation:

The bubble sort algorithm in your program is not well implemented;

So, I replaced the one in your program with another.

Also, some variable declarations were removed (as they were no longer needed) --- See attachment for complete program

Calculate mean

mean = sum/limit;

Print mean

cout<<"Mean: "<<mean;

Iterate through each element

for(int i = 0; i<limit; i++) {

Iterate through every other elements forward

  for(int j = i+1; j<limit; j++){

Compare both elements

     if(householdSizes[j] < householdSizes[i]){

Reposition the elements if not properly sorted

        temp = householdSizes[i];

        householdSizes[i] = householdSizes[j];

        householdSizes[j] = temp;       }    } }

Calculate the median for even elements

median= (householdSizes[(limit-1)/2]+householdSizes[1+(limit-1)/2])/2.0;

Calculate the median for odd elements

if((limit - 1)%2==0){

   median = householdSizes[limit/2];

}

Print median

cout<<endl<<"Median: "<<median;

Ver imagen MrRoyal
ACCESS MORE
EDU ACCESS