1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Morgarella [4.7K]
3 years ago
6

This program involves working with a set of discrete data (grades) and determining their average (arithmetic mean), median, and

mode. These operations are explained below.1. The average of the grades is the sum of all grades divided by the number of the grades.2. The median is the value located in middle of all grades. The grades should be ordered first. If the set contains an even number of values, the median is the average of the two middle values.3. The mode is the value that occurs most often or with the great frequency.4. The standard deviation shows how much variation exists from the average. It is calculated using the following equation: Where x1, x2, ..., xN represent the grades and µ represents the mean (average).Write a C++ program that handles any number of grades and performs the data analysis operations outlined above. Consider the following requirements.a. Read the input data from user. The program must not assume a fixed length of data; it should determine the length dynamically.b. Display the result on a standard display monitor.c. Use functions for each specific operations; for instance,double getAverage(int *grades, int size)double getMedian(int *grades, int size)int getMode(int *grades, int size)double getSd(int *grades, int size)d. If the grades have no mode, the getMode function should return -1. If the grades have more than one mode, the function should return anyone of them.e. Do not accept negative numbers for input.
Computers and Technology
1 answer:
Inga [223]3 years ago
3 0

Answer:

#include <iostream>

#include <iomanip>

#include <cmath>

using namespace std;

// function declarations

double getAverage(int* grades, int size);

double getMedian(int* grades, int size);

int getMode(int* grades, int size);

double getSd(int* grades, int size);

int main()

{

// Declaring variables

int size, val;

// setting the precision to two decimal places

std::cout << std::setprecision(2) << std::fixed;

// Getting the input entered by the user

cout << "How many grades you wnat to enter :";

cin >> size;

// Creating array dynamically

int* grades = new int[size];

/* Getting the inputs entered by the user

* and populate those values into array

*/

for (int i = 0; i < size;)

{

while (true)

{

cout << "Enter the grade#" << i + 1 << ":";

cin >> val;

if (val < 0)

{

cout << "** Invalid.Must be greater than zero. **" << endl;

continue;

}

else

{

grades[i] = val;

i++;

break;

}

}

}

// calling the functions

double avg = getAverage(grades, size);

double median = getMedian(grades, size);

int mode = getMode(grades, size);

double sd = getSd(grades, size);

cout << "Average :" << avg << endl;

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

cout << "Mode :" << mode << endl;

cout << "Standard Deviation :" << sd << endl;

return 0;

}

// This function calculates the average of grades

double getAverage(int* grades, int size)

{

double sum = 0.0;

// calculating the sum of res[] array elements

for (int i = 0; i < size; i++)

{

// calculating the sum

sum += grades[i];

}

// calculating the average

double avg = sum / size;

return avg;

}

// This function calculates the median of grades

double getMedian(int* grades, int size)

{

// This Logic will Sort the Array of elements in Ascending order

int temp;

int middle;

double median;

for (int i = 0; i < size; i++)

{

for (int j = i + 1; j < size; j++)

{

if (grades[i] > grades[j])

{

temp = grades[i];

grades[i] = grades[j];

grades[j] = temp;

}

}

}

if (size % 2 == 0)

{

middle = size / 2;

median = (float)(grades[middle - 1] + grades[middle]) / 2.0;

}

else

{

middle = (size + 1) / 2;

median = grades[middle];

}

return median;

}

// This function calculates the mode of grades

int getMode(int* grades, int size)

{

int counter1 = 0, counter2, modevalue;

for (int i = 0; i < size; i++)

{

counter2 = 0;

for (int j = i; j < size; j++)

{

if (*(grades + i) == *(grades + j))

{

counter2++;

}

if (counter2 > counter1)

{

counter1 = counter2;

modevalue = *(grades + i);

}

}

}

if (counter1 > 1)

return modevalue;

else

return -1;

}

// This function calculates the standard deviation of grades

double getSd(int* grades, int size)

{

int sum_of_squares = 0, standard_deviation;

double variance;

double avg = getAverage(grades, size);

/* This loop Calculating the sum of

* square of eeach element in the array

*/

for (int i = 0; i < size; i++)

{

/* Calculating the sum of square of

* each element in the array

*/

sum_of_squares += pow((grades[i] - avg), 2);

}

// calculating the variance of an array

variance = ((double)sum_of_squares / (size - 1));

// calculating the standard deviation of an array

standard_deviation = sqrt(variance);

return standard_deviation;

}

Explanation:

You might be interested in
Write a Java method onlyDigits that takes a string as a parameter. The method should remove from the string all characters, whic
Stels [109]

Answer:

public static String onlyDigits(String in){

    String digitsOnly = in.replaceAll("[^0-9]", "");

    return digitsOnly;

}

A Complete program is wrtten in the explanation section

Explanation:

public class TestClass {

   public static void main(String[] args) {

     String a = "-jaskdh2367sd.27askjdfh23";

       System.out.println(onlyDigits(a));

}

public static String onlyDigits(String in){

    String digitsOnly = in.replaceAll("[^0-9]", "");

    return digitsOnly;

}

}

The output: 23672723

The main logic here is using the Java replaceAll method which returns a string after replacing all the sequence of characters that match its argument, regex with an empty string

3 0
3 years ago
In spreadsheets, a cell reference is also referred to as which of the following? A. active cell B. axis C. cell address D. entry
nignag [31]
Generally its referring to the cells location, so C.
4 0
3 years ago
What would you use to exit from a for each activity and continue the execution of the workflow?
mr_godi [17]

Answer:

Break activity

Explanation:

The Break activity simply allows a user to stop the loop at any point chosen, and then continue with another activity or the next activity.

4 0
3 years ago
Which of the following tasks requires you to use the Tabs option?
LenaWriter [7]
In Microsoft Word, the TAB button shifts the text to the right. For example, starting a new paragraph, the TAB button indents the beginning.<span />
3 0
3 years ago
Carla needs to list the role for each consultant. Those with four or more years of 26 15 experience take the Lead role. Otherwis
saveliy_v [14]

Answer :

The output is attached below

Explanation:

The following formula needs to be entered into cell N5:

=IF($M5>=4,"Lead","Associate")

4 0
3 years ago
Other questions:
  • Write a Java program that can compute the interest on the next monthly mortgage payment. The program reads the balance and the a
    12·1 answer
  • What software would you recommend for design?
    7·1 answer
  • Instructions:Select the correct answer.
    9·2 answers
  • Create a do-while loop that asks the user to enter two numbers. The numbers should be added and the sum displayed. The loop shou
    5·1 answer
  • PLEASE HURRY!!!!!!!!!! WILL MARK BRAINLIEST!!
    13·1 answer
  • A Homecoming Crossword Puzzle
    12·1 answer
  • Which of these is a way of making applications less vulnerable to hacking?
    7·2 answers
  • 3 uses of Microsoft word in hospital
    10·1 answer
  • Can some one please help
    9·1 answer
  • The _____ path the name of the fire for the page and any directories or subdirectories​
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!