Question

In: Computer Science

1.Prompts the user for a positive integer >= 0 2.Validates the user input to ensure it...

1.Prompts the user for a positive integer >= 0

2.Validates the user input to ensure it is a positive integer >= 0

3.Allocate (dynamically) an array big enough for the data.

4.Load the array with random numbers ranging in value from1 to 100

5.Display the elements of the array (unsorted)

6.Display the elements of the array (sorted)

7. Display the average

8.Display the median

9.Display the mode, if none, display appropriate message

#include <iostream>
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
using namespace std;

// Function prototypes
double median(int *, int);
int mode(int *, int);
int *makeArray(int);
void loadNumberData(int *, int);
void selectionSort(int [], int);
double average(int *, int);
void displayArray(int * numberData, int qtyOfRandomNumbers);
void validateInt(string userIn, int& userInput);

int main()
{
  
}

//function definitions

//*************************************************
//function displayArray
//this function displays the elements of the array
//use pointer arithmetic to step through the array

//*************************************************
//function validateInt ensures that the user input
//is an integer >= 0

//*************************************************
// Function makeArray *
// This function dynamically allocates an array of*
// ints and returns a pointer to it. The parameter*
// size is the number of elements to allocate. *
//*************************************************

//*************************************************
// Function loadNumberData *
// This function loads the array with random numbers*
//ranging in value from 1 to 100
//use pointer arithmetic to step through the array *
//*************************************************


//*************************************************
// Function selectionSort *
// This function performs the selection sort *
// algorithm on array, sorting it into ascending *
// order. The parameter size holds the number of *
// elements in the array. *
//*************************************************

//**************************************************
// Function median *
// This function displays the median of the values *
// in the array pointed to by the parameter arr. *
// The num parameter holds the number of elements *
// in the array. *
//**************************************************

//*********************************************************
// Function mode *
// This function returns the mode of the array pointed to *
// by arr. The mode is the value that appears most often. *
// The parameter num holds the number of elements in the *
// array. If no element appears more than once, the *
// function returns -1. *
//*********************************************************

//**************************************************
// Function average *
// This function calculates and returns the average*
// of the values in the array arr. num is the *
// number of elements in the array. *
//**************************************************

Solutions

Expert Solution

Answer

#include <iostream>
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
#include <math.h>
using namespace std;
// Function prototypes
int validateInt(string userIn, int& userInput);
int *makeArray(int);
void loadNumberData(int *, int);
void displayArray(int * numberData, int qtyOfRandomNumbers);
void selectionSort(int [], int);
double average(int *, int);
double median(int *, int);
int mode(int *, int);
//main function
int main()
{
string userIn;
int userInput;
abc:
cout<<"\nEnter a Positive Number : ";
cin>>userIn;
if(validateInt(userIn,userInput)==0)
{
int *array=makeArray(userInput);
loadNumberData(array,userInput);
cout<<"\n--------Unsorted Array-------\n";
displayArray(array,userInput);
selectionSort(array,userInput);
cout<<"\n--------Sorted Array-------\n";
displayArray(array,userInput);
cout<<"\nArray Average is : "<<average(array,userInput);
cout<<"\nArray Median is : "<<median(array,userInput);
int modeValue=mode(array,userInput);
if(modeValue==0)
cout<<"\n\tNo mode value found..!all unique values in array";
else
cout<<"\nArray Mode is : "<<modeValue;

}
else
{
cout<<"\n\tIncorrect Number..!! Enter again";
goto abc;
}
return 0;
}
//function definitions
//*************************************************
//function validateInt ensures that the user input
//is an integer >= 0
//*************************************************
int validateInt(string userIn, int& userInput)
{
userInput=std::stoi (userIn);
if(userInput>=0)
return 0;
else
return -1;
}
//*************************************************
// Function makeArray *
// This function dynamically allocates an array of*
// ints and returns a pointer to it. The parameter*
// size is the number of elements to allocate. *
//*************************************************
int *makeArray(int size)
{
int *arr=new int[size];
return arr;
}
//*************************************************
// Function loadNumberData *
// This function loads the array with random numbers*
//ranging in value from 1 to 100
//use pointer arithmetic to step through the array *
//*************************************************
void loadNumberData(int *arr, int size)
{
srand (time(NULL)); /* initialize random seed: */
for(int i=0;i<size;i++)
{
*(arr+i) = rand() % 100 + 1; /* generate random number between 0 and 100: */
}
}
//*************************************************
//function displayArray
//this function displays the elements of the array
//use pointer arithmetic to step through the array
//*************************************************
void displayArray(int * numberData, int qtyOfRandomNumbers)
{
for(int i=0;i<qtyOfRandomNumbers;i++)
{
cout<<" "<<*(numberData+i);
}
}
//*************************************************
// Function selectionSort *
// This function performs the selection sort *
// algorithm on array, sorting it into ascending *
// order. The parameter size holds the number of *
// elements in the array. *
//*************************************************
void selectionSort(int arr[], int size)
{
int pos_min;//pos_min is short for position of min
for (int i=0; i < size-1; i++)
{
pos_min = i;//set pos_min to the current index of array
for (int j=i+1; j < size; j++)
{
if (arr[j] < arr[pos_min])
pos_min=j;
//pos_min will keep track of the index that min is in, this is needed when a swap happens
}
//if pos_min no longer equals i than a smaller value must have been found, so a swap must occur
if (pos_min != i)
{
int temp = arr[i];
arr[i] = arr[pos_min];
arr[pos_min] = temp;
}
}
}
//**************************************************
// Function average *
// This function calculates and returns the average*
// of the values in the array arr. num is the *
// number of elements in the array. *
//**************************************************
double average(int *arr, int size)
{
double total=0;
for(int i=0;i<size;i++)
total+=*(arr+i);
return (total/size);
}
//**************************************************
// Function median *
// This function displays the median of the values *
// in the array pointed to by the parameter arr. *
// The num parameter holds the number of elements *
// in the array. *
//**************************************************
double median(int *arr, int size)
{
int middle;
double med;
middle = floor(size / 2.0);
if (size%2==0)
med = (*(arr+middle-1) + *(arr+middle)) / 2.0;
else
med = *(arr+middle);
return med;
}
//*********************************************************
// Function mode *
// This function returns the mode of the array pointed to *
// by arr. The mode is the value that appears most often. *
// The parameter num holds the number of elements in the *
// array. If no element appears more than once, the *
// function returns -1. *
//*********************************************************
int mode(int *arr, int size)
{
int counter1=0,counter2,modevalue;
for(int i=0;i<size;i++)
{
counter2=0;
for(int j=i;j<size;j++)
{
if (*(arr+i)== *(arr+j))
{
counter2++;
}
if (counter2 > counter1)
{
counter1 = counter2;
modevalue = *(arr+i);
}
}
}
if(counter1>1)
return modevalue;
else
return 0;
}

OUTPUT


Related Solutions

Write a program which: Prompts the user for a positive integer >= 0 Validates the user...
Write a program which: Prompts the user for a positive integer >= 0 Validates the user input to ensure it is a positive integer >= 0 Allocate (dynamically) an array big enough for the data. Load the array with random numbers ranging in value from1 to 100 Display the elements of the array (unsorted) Display the elements of the array (sorted) Display the average Display the median Display the mode, if none, display appropriate message RESTRICTIONS No global variables No...
JAVA Language: Write a program that prompts the user to enter a positive integer n (0...
JAVA Language: Write a program that prompts the user to enter a positive integer n (0 up to 232 -1). You must write a function that takes as input n and returns a string s representing the number n in binary. For this assignment, you must use the method of successive division by 2 to convert the number to binary. Your main program must print out s. Example: If the user enters the number 66, your program must print out...
Write a C++ program that prompts the user (or “Player 1”) to input an integer value...
Write a C++ program that prompts the user (or “Player 1”) to input an integer value between 1 and 3 (where 1=paper, 2=scissor, and 3=rock). This input should be passed into a string function called player_RPS(), and returns a string value indicating the selection of paper, scissors, or rock (as mentioned above). Next, the returned string value, along with a generated input from the computer, should be passed into a void function called RPS_comparison(), and determines whether the user’s input...
Write a program that prompts the user to enter a positive integer and then computes the...
Write a program that prompts the user to enter a positive integer and then computes the equivalent binary number and outputs it. The program should consist of 3 files. dec2bin.c that has function dec2bin() implementation to return char array corresponding to binary number. dec2bin.h header file that has function prototype for dec2bin() function dec2binconv.c file with main function that calls dec2bin and print results. This is what i have so far. Im doing this in unix. All the files compiled...
Write a program which prompts the user for a positive integer, and then prints out the...
Write a program which prompts the user for a positive integer, and then prints out the prime factorization of their response. Do not import anything other than the Scanner. One way you might go about this using nested loops: Start a "factor" variable at 2 In a loop: repeatedly print the current factor, and divide the user input by it, until the user input is no longer divisible by the factor increment the factor This plan is by no stretch...
Write a new program named Bar that prompts the user to enter a positive integer. The...
Write a new program named Bar that prompts the user to enter a positive integer. The program should then display a line consisting of the entered number of asterisks using a while loop. If the user enters a number that is not positive, the program should display an error message (see example below). Example 1: Enter a positive number: 6 ****** Example 2: Enter a positive number: 11 *********** Example 3: Enter a positive number: -4 -4 is not a...
1. Write a Java program that asks the user to input a positive integer n first,...
1. Write a Java program that asks the user to input a positive integer n first, then create an array of size n. Fill n random integers between 5 and 555, inclusively, into the created array. Output the sum of all the integers in the array and the average of all the integers in the array. 2 .Find the output of the following Java program and explain your answer
Instructions JAVA PROGRAMMING 1. Ask the user for a year input (positive integer - should be...
Instructions JAVA PROGRAMMING 1. Ask the user for a year input (positive integer - should be between 1500 and 2019, inclusive). 2. If the year input is not between 1500 and 2019, do not check for leap year, rather print that this year cannot be checked. 3. Take a year input from the user (should be between 1500 and 2019) 4. If the input year is a leap year, print that year is a leap year; otherwise, print that the...
IN JAVA Write a MAIN METHOD that asks for user input of a positive integer and...
IN JAVA Write a MAIN METHOD that asks for user input of a positive integer and a negative integer validates the inputs using a loop and then calls the METHOD from Question 3 and prints the result. The MAIN should have two variables (appropriately typed), get the input from the user and store them in the variables after validating them, then call the method from question 3 (sending parameters, if necessary) and print the returned value with an appropriate descriptive...
rogram that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary.
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is:As long as x is greater than 0    Output x % 2 (remainder is either 0 or 1)    x = x // 2Note: The above algorithm outputs the 0's and 1's in reverse order. You will need to write a second function to reverse the string.Ex: If the input is:6the output is:110Your program must define and call the following two functions. The function integer_to_reverse_binary() should return a string of 1's...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT