Question
Suppose we have a program that generates large quantities of random floating point data that it stores in an array. In order to get some
Suppose we have a program that generates large quantities of random floating point data that it stores in an array. In order to get some feel for the distribution of the data, we can make a frequency histogram of the data. A frequency histogram is a graph with vertical columns that represent the frequency of a data point or range of data points occurring in a set of data.
Recall that to make a histogram, we simply divide the range of the data up into equal sized subintervals, or bins, determine the number of measurements in each bin, and plot a bar graph showing the relative sizes of the bins or display how many floating point values are cast into each bin.
As a very small example, suppose our data are
1.3, 2.9, 0.4, 0.3, 1.3, 4.4, 1.7, 0.4, 3.2, 0.3, 4.9, 2.4, 3.1, 4.4, 3.9, 0.4, 4.2, 4.5, 4.9, 0.9
Then the data lie in the range 0-5, and if we choose to have five bins, for example, 0-1, 1-2, , and 4-5, the histogram might look something like
The frequency text-based display would be like:
Number of float-point values in range of 0 to 1: 6
Number of float-point values in range of 1 to 2: 3
Number of float-point values in range of 2 to 3: 2
Number of float-point values in range of 3 to 4: 3
Number of float-point values in range of 4 to 5: 6
In the exercise, you do not need to draw the histogram plot but you are required to display the frequency of range of floating point values, as in the above-mentioned example.
Task:
Write a serial code includes
a) the calculation function that calculate the frequency of each bin (number of float-point values are cast into a bin), save the counts into a dynamic memory allocated array, and return the pointer of the array.
b) the main function which verify your function in the a) by generating a list of random float-point values, calculate the min value and max value, ask user for input about the number of bins and retrieve user input, invoke the calculation function, and display the content of the frequency array.
The calculation function holds the following parameters:
- the array of data_count floats, data;
- the count of floating-point values, data_count
- the minimum floating-point value, min_meas;
- the maximum floating-point value, max_meas;
- the number of bins, bin_count.
Note: You just need to display the frequency in the text format. No plot is needed. Please use pointers instead of regular array operations in both a) and b). Please do not forget to release the dynamic memory allocated space.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started