Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

*** Before I post this question two times and two person post the same answer th

ID: 3680476 • Letter: #

Question

*** Before I post this question two times and two person post the same answer that does not work. I need the solution and also want to see the output of the program. In this multithread program can pass 7 integers not 3. After that define their average value, minimum value and maximum value. ***

Write a multithreaded program that calculates various statistical values for a list of numbers. This program will be passed a series of numbers on the command line and will then create three separate worker threads. One thread will determine the average of the numbers, the second will determine the maximum value, and the third will determine the minimum value. For example, suppose your program is passed the integers

                                90 81 78 95 79 72 85

The program will report

                                The average value is 82

                                The minimum value is 72

                                The maximum value is 95

The variables representing the average, minimum, and maximum values will be stored globally. The worker threads will set these values, and the parent thread will output the values once the workers have exited. (We could obviously expand this program by creating additional threads

that determine other statistical values, such as median and standard deviation.)

Explanation / Answer

******** Try these 3 programs*********

1)

2)In c++

3)In Java

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.StringTokenizer;

   

public class MinMaxAvg {

    public static void main(String[] args) throws Exception {

        System.out.println("Please enter your numbers.");

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int count = 0;

        int min = Integer.MAX_VALUE;

        int max = Integer.MIN_VALUE;

        int total = 0;

           

        while (st.hasMoreTokens()) { //Added while loop here

            int Num = Integer.parseInt(st.nextToken());

            if (Num > max) {

                max = Num;

                // min = Integer.parseInt(st.nextToken());

            }

            if (Num < min) {

                min = Num;

                // max = Integer.parseInt(st.nextToken());

            }

            // System.out.println("Min : " + min + " Max : " + max);

   

            count++; // increment counter

            total += Num; // accumulate the sum

        }

   

        float average = (float) total / count;

        System.out.println("The Average value is: " + average);

        System.out.println("Maximum: " + max);

        System.out.println("Minimum: " + min);

    }

}

Hope these 3 programs help you!

Thank you.