Suppose one machine, A, executes a program with an average CPI of 1.9. Suppose another machine, B (with the same instruction set and an enhanced compiler), executes the same program with 20% less instructions and with a CPI of 1.1 at 800MHz. In order for the two machines to have the same performance, what does the clock rate of the first machine need to be

Answers

Answer 1

Answer:

the clock rate of the first machine need to be 1.7 GHz

Explanation:

Given:

CPI of A = 1.9

CPI of B = 1.1

machine, B executes the same program with 20% less instructions and with a CPI of 1.1 at 800MHz

To find:

In order for the two machines to have the same performance, what does the clock rate of the first machine need to be

Solution:

CPU execution time = Instruction Count * Cycles per Instruction/ clock rate

CPU execution time = (IC * CPI) / clock rate

(IC * CPI) (A) / clock rate(A) =  (IC * CPI)B / clock rate(B)

(IC * 1.9) (A) / clock rate(A) = (IC * (1.1 * (1.0 - 0.20)))(B) / 800 * 10⁶ (B)

Notice that 0.20 is basically from 20% less instructions

(IC * 1.9)  / clock rate = (IC * (1.1 * (1.0 - 0.20))) / 800 * 10⁶

(IC * 1.9)  / clock rate =  (IC*(1.1 * ( 0.8))/800 * 10⁶

(IC * 1.9)  / clock rate =  (IC * 0.88) / 800 * 10⁶

clock rate (A) =  (IC * 1.9) / (IC * 0.88) / 800 * 10⁶

clock rate (A) =  (IC * 1.9) (800 * 10⁶) /  (IC * 0.88)

clock rate (A) = 1.9(800)(1000000)  / 0.88

clock rate (A) =  (1.9)(800000000)  / 0.88

clock rate (A) = 1520000000  / 0.88

clock rate (A) = 1727272727.272727

clock rate (A) = 1.7 GHz


Related Questions

What does GDF is a measure of a nations?

Answers

I’m confused on the question can you rephrase that

Wireless technology is best described as a/an

stationary computing system.

office computing system.

mobile computing system.

inflexible computing system.

Answers

Answer:

mobile computing system

Explanation:

Answer:

mobile computing system... C

Adjust list by normalizing When analyzing data sets, such as data for human heights or for human weights, a common step is to adjust the data. This can be done by normalizing to values between 0 and 1, or throwing away outliers. For this program, adjust the values by subtracting the smallest value from all the values. The input begins with an integer indicating the number of integers that follow. Assume that the list will always contain fewer than 20 integers. Ex: If the input is: 5 30 50 10 70 65 the output is: 20 40 0 60 55 The 5 indicates that there are five values in the list, namely 30, 50, 10, 70, and 65. 10 is the smallest value in the list, so is subtracted from each value in the list. For coding simplicity, follow every output value by a space, including the last one.

Answers

Answer:

Written in Python

inp = int(input("Length: "))

num = []

num.append(inp)

for i in range(1,inp+1):

    userinp = int(input("Input: "))

    num.append(userinp)

smallest = num[1]

for i in range(1,len(num)):

    if smallest > num[i]:

         smallest = num[i]

for i in range(1,len(num)):

    num[i] = num[i] - smallest

for i in range(1,len(num)):

    print(num[i],end=' ')

Explanation:

I've added the full program as an attachment where I used comments as explanation

Memory locations in personal computers are usually given in hexadecimal. If a computer programmer writes a program that requires 100 memory locations, determine the last memory location that is used if the program starts at location 2C8DH 16 hexadecimal

Answers

Answer:

The answer is "The last memory addresses used by a specific program is 2CF0".

Explanation:

For this specific problem, we assume that only a memory storage allocation like Array data structure is needed, as well as any allocation only needs one memory cell since it focuses on the structure and type of data used.  

So, first, we will transform the provided memory address for better comprehension from Hexadecimal into decimal.  

[tex]\to \bold{(2C8D)_{16} = (11405)_{10}}[/tex]

Now 11405 is the first memory cell's address. With all of this number, it can add 99, resulting in the final decimal memory address.  

[tex]=11405 + 99\\\\= 11504[/tex]

[tex]\bold{(11504)_{10} = (2CF0)_{16}}.[/tex]

How can you create an illusion of spatial depth in a two-dimensional design?

Answers

Answer:

Using three or more vanishing points within a work to create the illusion of space on a two-dimensional surface.

Explanation:

Secondary sources
information gathered from primary sources.

Answers

Answer:

The answer is interpret Proof is down below

Explanation:

Here is the proooooooffffffff i made a 90 but this one was right

Secondary sources interpret information gathered from primary sources.

What are Secondary sources of information?

A secondary source is known to be made up of discussion that is often based on a primary information source.

Hence, the feature of secondary sources are known to give some kind of interpretation to all the information that has been gathered from other primary sources.

Learn more about Secondary sources from

https://brainly.com/question/896456

#SPJ2

def build_dictionary(string):
d = dict()
for x in string:
if not d.get(x):
d[x] = 1
else:
d[x] += 1
return d
Part 2:
Create a function named build_word_counter that has the same signature as build_dictionary. This function also returns a dictionary, however, it normalizes each word such that the case of the word is ignored (i.e. case insensitive). So the words LIKE, Like, like should be considered the same word (much like a regular dictionary would). You must use the same function add_item again (so don't make any modifications to it) Normalize words by using the lower case version of the word.
Part 3:
Create a function named build_letter_distribution that has the same signature as build_dictionary. This function returns a dictionary; however, each key will be a letter and the value will be the count that represents how many times that letter was found. Essentially you will have a letter distribution over a sentence (which is a list of words). The letters should be case insensitive.

Answers

Answer:

Follows are the code to this question:

def build_word_counter(string):#defining a method build_word_counter that accepts string as a parameter  

   d = dict()#defining d variable as a dictionary

   for x in string:#defining for loop that use string

       x = x.lower()#Use lower method  

       if not d.get(x):#defining if block that holds value in d variable

           d[x] = 1#use dictionary to hold value in 1

       else:#defining else block

           d[x] += 1#use dictionary to increment value by 1

   return d#return dictionary

print(build_word_counter(["Like","like","LIKE"]))#use print method to call method

def build_letter_distribution(string):#defining a method build_letter_distribution that accepts string variable

   d = dict()#defining d variable as a dictionary

   for i in string:#defining for loop to count string value

       for j in i:#defining for loop to hold string as number

           if not d.get(j):#defining if block that doesn't get value in dictionary  

               d[j] = 1#hold value in dictionary  

           else:#defining else block

               d[j] += 1#use dictionary to increment the dictionary value

   return d#return dictionary

print(build_letter_distribution(["Like","test","abcdEFG"]))#use print method to return its value

Output:

please find the attached file.

Explanation:

In the first program a method, "build_word_counter" is defined that accepts a string variable in its parameter, and inside the method, a dictionary variable "d" is defined that uses the for loop to hold string value and convert all value into lower case.

In the next step, a conditional statement is used that holds value in the dictionary and count its word value.

In the second program a method, "build_letter_distribution" is defined that holds string variable in its parameter, and inside the method, a dictionary variable "d" is defined that uses the two for loop and in if the block, it holds value in the dictionary and returns its value, and use print method to print its return its value.

3.What are the pros and cons of using a linked implementation of a sparse matrix, as opposed to an array-based implementation

Answers

Answer:

speed and storage

Explanation:

The pros and cons of both are mainly in regards to speed and storage. Due to linked lists elements being connected to one another it requires that each previous element be accessed in order to arrive at a specific element. This makes it much slower than an array-based implementation where any element can be quickly accessed easily due to it having a specific location. This brings us to the other aspect which is memory. Since Arrays are saved as a single block, where each element has a specific location this takes much more space in the RAM as opposed to a linked implementation which is stored randomly and as indexes of the array itself.

Array Implementation:

Pros: Much Faster and Easier to target a specific elementCons: Much More Space needed

Linked Implementation

Pros: Less overall space neededCons: Much slower speed.

On what date was jschlatt originally added to the dreamsmp server, and on which date was his second appearance on the server?

Answers

since this has already been answered, who is your favorite SMP character?

mines Wilbur/ Ghostbur

some people will disagree with me but jshlatt is one of my favorite characters on the dream smp . But my all time favorite characters is ALL of Wilbur's characters

What are two examples of items in Outlook?

a task and a calendar entry
an e-mail message and an e-mail address
an e-mail address and a button
a button and a tool bar

Answers

Answer:

a task and a calendar entry

Explanation:

ITS RIGHT

Answer:

its A) a task and a calendar entry

Explanation:

correct on e2020

In __________ write, the data are stored in the cache, and control returns to the caller. Select one: a. a synchronous b. a buffered c. an asynchronous d. a non-buffered

Answers

Answer:

The correct answer to the question is option C (an asynchronous)

Explanation:

Computer store files in its temporary data storage space so as to facilitate easy retrievals when needed. Cache memory is in the temporary data storage space of the computer, faster than any other system memory so that when the processor requests information from the computer memory after a user place a command, the cache memory makes the information available in a short time when the data are required eliminating delay when ram will have to take time to fetch the data to provide to the processor.

In an asynchronous write, the data are stored in the cache to enable easy retrieval by the computer processor just as the cache is explained above, it allows writing data to the cluster. Asynchronous write also allows control returns to the caller.

A bank has three types of accounts: checking, savings, and loan. Following are the attributes for each type of account:
CHECKING: Acct No, Date Opened, Balance, Service Charge
SAVINGS: Acct No, Date Opened, Balance, Interest Rate
LOAN: Acct No, Date Opened, Balance, Interest Rate, Payment
Assume that each bank account must be a member of exactly one of these subtypes. Using generalization, develop an EER model segment to represent this situation using the traditional EER notation, the Visio notation, or other tools like Lucidchart / Draw.io. Remember to include a subtype discriminator.

Answers

Answer:

please find the attachment of a graph:

Explanation:

Description of the model:

Generalization is the method used here just for the EER model, which sweeping generalization is a way to identify the common characteristics of a sequence to create a common entity. This is an approach from the bottom up. Its verification, savings, and credit firms are extended to a higher-level object's account. So, the entity entities (Account) are the common traits of these bodies. As well as the specific qualities are the part of specialized entities (checks, savings, and loans). This EER model is shown via the subgroup and supertype notes. The Balance has calculated the distance, throughout the entity type entity are key patterns of the subgroup entities. The wood beaded includes Acct No, Balanced and Open Date. The key was its underliner Acct No. the very first key. CHECKING, SAVINGS, and LOAN are the subsection organizations of the Supertype Account.Its subtypes get the traits that are not normal. It Testing feature is the uncommon extra fee feature. Its SAVINGS post-type feature has the peculiar exchange rate feature. Its LOAN subgroup feature produces unusual interest in fixed payment characteristics.

Enhanced Entity relationships[EER] represent the requirements and complexities of a complex database.

What is Enhanced Entity-relationship?

Here, the account entity generalized into three entities and these are checking, savings, and loan.

Also, the common attribute the three of them have can be considered in the account entity which is common in them while the individual attributes must be specified under its own entity.

EER models are the helpful tools used for designing databases that have high-level models.

Learn more about databases on:

https://brainly.com/question/518894

Your job is to write a basic blurring algorithm for a video driver. The algorithm will do the following: it will go through all pixels on the screen and for each pixel, compute the average intensity value (in red, green and blue separately) of the pixel and its 8 neighbors. (At the edges of the screen, there are fewer neighbors for each pixel.) Let's say the number of pixels on the screen is n. Then what is the order of the number of arithmetic operations (additions and divisions) required?
a. The number is order of n 4 .
b. The number is order of n2.
c. The number is order of n
d. The number is order of n3.

Answers

I’m pretty sure answer is B let me know if I’m wrong

The Gas-N-Clean Service Station sells gasoline and has a car wash. Fees for the car wash are $1.25 with a gasoline purchase of $10.00 or more and $3.00 otherwise. Three kinds of gasoline are available: regular at $2.89, plus at $3.09, and super at $3.39 per gallon. User Request:
Write a program that prints a statement for a customer. Analysis:
Input consists of number of gallons purchased (R, P, S, or N for no purchase), and car wash desired (Y or N). Gasoline price should be program defined constant. Sample output for these data is
Enter number of gallons and press 9.7
Enter gas type (R, P, S, or N) and press R
Enter Y or N for car wash and press Y
**************************************
* *
* *
* Gas-N-Clean Service Station *
* *
* March 2, 2004 *
* * ************************************** Amount Gasoline purchases 9.7 Gallons Price pre gallons $ 2.89 Total gasoline cost $ 28.03 Car wash cost $ 1.25 Total due $ 29.28 Thank you for stopping Pleas come again Remember to buckle up and drive safely

Answers

Answer:

import java.util.Scanner;

public class Main

{

public static void main(String[] args) {

              //print the header

              System.out.println("**************************************");

              System.out.println("*                                    *");

              System.out.println("*                                    *");

              System.out.println("*   Gas-N-Clean Service Station      *");

              System.out.println("*                                    *");

              System.out.println("*   March 2, 2004                    *");

              System.out.println("*                                    *");

              System.out.println("**************************************");

 

               //set the constant values for gasoline

               final double REGULAR_GASOLINE = 2.89;

               final double PLUS_GASOLINE = 3.09;

               final double SUPER_GASOLINE = 3.39;

 

              // initialize the variables as 0

              double gasolinePrice = 0, gasolineCost = 0, carWashCost = 0, totalCost = 0;

 

               Scanner input = new Scanner(System.in);

 

               //ask the user to enter the gallons, gas type and car wash choice

               System.out.print("Enter number of gallons ");

               double gasolinePurchase = input.nextDouble();

               System.out.print("Enter gas type (R, P, S, or N) ");

               char gasType = input.next().charAt(0);

               System.out.print("Enter Y or N for car wash ");

               char carWashChoice = input.next().charAt(0);

               //check the gas type. Depending on the choice set the gasolinePrice from the corresponding constant value

              if(gasType == 'R')

                  gasolinePrice = REGULAR_GASOLINE;

              else if(gasType == 'P')

                  gasolinePrice = PLUS_GASOLINE;

              else if(gasType == 'S')

                  gasolinePrice = SUPER_GASOLINE;

 

                //calculate the gasolineCost

                gasolineCost = gasolinePurchase * gasolinePrice;

 

               //check the carWashChoice. If it is yes and gasolineCost is greater than 10, set the carWashCost as 1.25. Otherwise, set the carWashCost as 3.00

               if(carWashChoice == 'Y'){    

                   if(gasolineCost >= 10)

                       carWashCost = 1.25;

                   else

                       carWashCost = 3.00;

               }

              //calculate the total cost, add gasolineCost and carWashCost

              totalCost = gasolineCost + carWashCost;

 

               //print the values in required format

              System.out.println("Amount Gasoline purchases " + gasolinePurchase);

              System.out.println("Gallons Price per gallons $ " + gasolinePrice);

              System.out.printf("Total gasoline cost $ %.2f\n", gasolineCost);

              System.out.println("Car wash cost $ " + carWashCost);

              System.out.printf("Total due $ %.2f\n", totalCost);

               System.out.println("Thank you for stopping\nPlease come again \nRemember to buckle up and drive safely");

}  

}

Explanation:

*The code is in Java.

Please see the comments in the code for explanation

Please help me. Anyone who gives ridiculous answers for points will be reported.

Answers

Answer:

Well, First of all, use Linear

Explanation:

My sis always tries to explain it to me even though I know already, I can get her to give you so much explanations XD

I have the Longest explanation possible but it won't let me say it after 20 min of writing

A pedometer treats walking 2,000 steps as walking 1 mile. Write a program whose input is the number of steps, and whose output is the miles walked. If the input is 5345, the output is 2.6725.

Answers

In python:

print(steps_walked / 2000)

This is Java! Help is appreciated :)

Answers

public class TvShow {

   int x;

   public TvShow(String showName, int numMinutes){

   }

   public int getNumActors(String actors){

       //method code goes here but since it's just a signature we don't put anything here.

       return 0;

   }

   TvShow show22 = new TvShow("Leave it to Beaver", x);

   public double cost(int i){

       return 0;

   }

   public static void main(String[] args) {

   }

   

}

class Tester {

   public static void main(String[] args) {

       TvShow tv = new TvShow("", 0);

       tv.show22.cost(0);

   }

   

}

I hope this helps in some way!

Consider a multiprocessor CPU scheduling policy. There are 2 options: 1) a singlecommon ready queue of jobs; when a CPU becomes free, the job atthe head of the queuegoes to this free CPU. 2) a ready queue for each CPU; the arriving job joins the shortestqueue. In general, do you expect the common queue or the shortest queue policy to performbetter. Justify.

Answers

Explanation:

A ready queue is more adequate since in this method the load balancing occurs in a proper way. The goal of multiple processing is the correct distribution of load.

But in the cases when a processor is doing quicker or taking a smaller queue, it will self assign processes allotted for execution, configuring it with a constant busy state.

Complete the sentence.
____ use only apps acquired from app stores.

O tablets
O laptops
O servers
O desktops

Answers

The answer is Tablets

Answer:

Tablets

Explanation:

I say so

Which type of chart or graph uses vertical bars to compare data?

Column chart
Line graph
Pie chart
Scatter chart

Answers

Answer:

Colunm Chart

Explanation:

Trust me

Using the Multiple-Alternative IFTHENELSE Control structure write the pseudocode to solve the following problem to prepare a contract labor report for heavy equipment operators: The input will contain the employee name, job performed, hours worked per day, and a code. Journeyman employees have a code of J, apprentices a code of A, and casual labor a code of C. The output consists of the employee name, job performed, hours worked, and calculated pay. Journeyman employees receive $20.00 per hour. Apprentices receive $15.00 per hour. Casual Labor receives $10.00 per hour.

Answers

Answer:

The pseudo-code to this question can be defined as follows:

Explanation:

START //start process

//set all the given value  

SET Pay to 0 //use pay variable that sets a value 0

SET Journeyman_Pay_Rate  to 20//use Journeyman_Pay_Rate variable to sets the value 20

SET Apprentices_Pay_Rate to 15//use Apprentices_Pay_Rate variable to sets the value 15  

SET Casual_Pay_Rate to 10//use Casual_Pay_Rate variable to set the value 10

READ name//input value

READ job//input value

READ hours//input value

READ code//input value

IF code is 'J' THEN//use if to check code is 'j'  

  COMPUTE pay AS hours * JOURNEYMAN_PAY_RATE//calculate the value

IF code is 'A' THEN//use if to check code is 'A'

  COMPUTE pay AS hours * APPRENTICES_PAY_RATE//calculate the value

IF code is 'C' THEN//use if to check code is 'C'

  COMPUTE pay AS hours * CASUAL_PAY_RATE//calculate the value

END//end conditions

PRINT name//print value

PRINT job//print value

PRINT code//print value

PRINT Pay//print value

END//end process

According to Darwin’s theory of evolution, differences between species may be a result of which of the following?
a) The disuse of body structures
b) The transmission of acquired characteristics
c) Natural selection
d) Mutagenic agents

Answers

Answer:

The answer is C Natural selection

Explanation:

Natural selection is the differential survival and reproduction of individuals due to differences in phenotype. It is a key mechanism of evolution, the change in the heritable traits characteristic of a population over generations

According to Darwin’s theory of evolution, differences between species may be a result of  Natural selection. Thus the correct option is C.

What is  Darwin’s theory of evolution?

According to Darwin, all species descended from a single ancestor, species can change through time, and new species can arise from existing ones which makes them interconnected with common traits.

Natural selection of traits in a species that would help the species in its survival is the process that drives diversification, the evolutionary process through which new biological species form.

Natural selection is the evolutionary mechanism stating that with many resources available in nature, creatures with genetically inherited features that promote survival and reproduction will typically produce more offspring than their conspecific competitors.

Therefore, option C is appropriate.

Learn more about  Darwin’s theory of evolution, here:

https://brainly.com/question/25718754

#SPJ6

Write a Python code to ask a user to enter students' information including name,
last name and student ID number. The program should continue prompting the
user to enter information until the user enters zero. Then the program enters
search mode. In this mode, the user can enter a student ID number to retrieve
the corresponding student's information. If the user enters zero, the program
stops. (Hint: consider using list of lists)​

Answers

database = ([[]])

while True:

   first_name = input("Enter the student's first name: ")

   if first_name == "0":

       while True:

           search = input("Enter a student ID number to find a specific student: ")

           if [] in database:

               database.pop(0)

           if search == "0":

               exit()

           k = 0

           for w in database:

               for i in database:

                   if i[2] == search:

                       print("ID number: {} yields student: {} {}".format(i[2], i[0], i[1]))

                       search = 0

   last_name = input("Enter the student's last name: ")

   id_number = input("Enter the student's ID number: ")

   database.append([first_name, last_name, id_number])

I hope this helps!

IT professionals have a responsibility to educate employees about the risks of hot spots. Which of the following are risks associated with hot spots? Check all of the boxes that apply.

third-party viewing

unsecured public network

potential for computer hackers

unauthorized use

Answers

Answer:

All of them

Explanation:

got it right on edge 2020

Answer:

All of the above

Explanation:

just do it

Jason works as a financial investment advisor. He collects financial data from clients, processes the data online to calculate the risks associated with future investment decisions, and offers his clients real-time information immediately. Which type of data processing is Jason following in the transaction processing system?

A.
online decision support system
B.
online transaction processing
C.
online office support processing
D.
online batch processing
E.
online executive processing

Answers

Answer:

The answer to this question is given below in the explanation section.

Explanation:

The correct answer to this question is online decision support system. Because the decision support systems process the data, evaluate and predict the decision, and helps the decision-makers,  and offer real time information immediately in making the decision in an organization. So the correct answer to this question is the decision supports system.

Why other options are not correct

Because the transaction processing system can only process the transaction and have not the capability to make the decision for the future. Office support processing system support office work, while the batch processing system process the task into the batch without user involvement.   however, online executive processing does not make decisions and offer timely information to decision-makers in an organization.

Return to the Product Mix worksheet. Benicio wants to provide a visual way to compare the scenarios. Use the Scenario Manager as follows to create a PivotTable that compares the profit per unit in each scenario as follows:
a. Create a Scenario PivotTable report using the profit per unit sold (range B17:F17) as the result cells.
b. Remove the Filter field from the PivotTable.
c. Change the number format of the value fields to Currency with 2 decimal places and the $ symbol.

Answers

Answer:

To create a pivot table, select the columns to pivot and click on the insert option, click on the pivot table option and select the data columns for the pivot, verify the table range, select the location for the pivot and click ok. To format a column, select the columns and click the number option on the home tab, select the currency option and click on the number of decimal places

Explanation:

Microsoft Excel is a great tool for data analysis and visualization. It has several mathematical, engineering, statistical, and graphical tools for working with data.

A pivot-table is an essential tool for describing and comparing data of different types.

The steps to follow in order to produce a Pivot table would be as mentioned below:

Opting the columns for a pivot table. Now, make a click on the insert option. This click is followed by opting for the pivot table and the data columns that are available in it.After this, the verification of the range of the table is made and then, the location for the pivot table has opted. After this, the column is formatted and the number option is selected followed by the currency option, and the quantity of decimal places. A Pivot table allows one to establish a comparison between data of distinct categories(graphic, statistical, mathematical) and elaborate them.

Learn more about 'Pivot Table' here:

brainly.com/question/13298479

What is the process to add images to your library panel in Adobe Animate CC?
Answer choices
Choose file>import>import library
Choose file>open>insert image
Choose file>export>export file
Choose file> New> file

Answers

Answer:

Choose file>import>import library

Explanation:

because it is the process to add images to your library

Challenge activity 1.3.6:output basics.for activities with output like below,your output's whitespace(newlines or spaces) must match exactly.see this note.write code that outputs the following.end with a newline.This weekend will be nice.​

Answers

In python:

print("This weekend will be nice.")

I hope this helps!

Why the shape of a cell is hexagonal

Answers

Answer:

Hexagonal cell shape is perfect over square or triangular cell shapes in cellular architecture because it cover an entire area without overlapping i.e. they can cover the entire geographical region without any gaps.

I hope this helps

Pls mark as brainliest

Hexagonal shapes are preferred over squares, or circles because it covers an entire area without overlapping. It requires fewer cells.

Data Structure in C++
Using namespace std;
In this assignment you will implement a variation of Mergesort known as a bitonic mergesort, recursively.
In a normal mergesort, the input to the merge step is a single array, which is divided into two sections, both sorted ascending. We assume that the first half (0 up to but not including size/2) is the first section and the second half (size/2 up to but not including size) is the second section.
In a bitonic mergesort, we use the same arrangement, except that the second sequence is sorted in descending order: the first half goes up, and then the second half goes down. This means that when we are doing a merge, sometimes we want to merge the results into ascending order, while other times we want to merge into descending order (depending on which "half" of the final array the result will end up in). So we add another parameter, to describe the direction the output should be sorted into:
void merge(int* input, int size, int* output, bool output_asc);
If output_asc == true then after the merge output should contain size elements, sorted in ascending order. If output_asc == false, output should contain the elements sorted in descending order.
The other thing we glossed over in class was the allocation of the temporary space needed by the algorithm. It’s quite wasteful to allocate it in each recursive call: it would be better to allocate all the necessary space up front, and then just pass a pointer to it. In order to do this, we’ll write the recursive mergesort function in a helper function which will preallocate the space needed for the results:
int* mergesort(int* input, int size) {
int* output = new int[size];
mergesort(input, size, output, true);
return output;
}
void mergesort(int *input, int size, int* output, bool output_asc) {
// Your implementation here
}
The parameter output_asc serves the same purpose here as for merge: it tells the function that we want the output to be sorted ascending.
Interface
You must implement the functions
void merge(int* input, int size, int* output, bool output_asc);
int* mergesort(int* input, int size);
void mergesort(int *input, int size, int* output, bool output_asc);
Download a template .cpp file containing these definitions. This file is also available on the server in /usr/local/class/src.
merge must run in O(n) time with n= size. mergesort (both versions) must run in O(nlogn) time, and must use O(n) space. If you allocate any space other than the output array, you should free it before your function returns.
The test runner will test each function separately, and then in combination. It checks the result of sorting to make sure that it’s actually sorted, and then nothing is missing or added from the original (unsorted) sequence.

Answers

The code .cpp is available bellow

#include<iostream>

using namespace std;

//declaring variables

void merge(int* ip, int sz, int* opt, bool opt_asc); //merging

int* mergesort(int* ip, int sz);

void mergesort(int *ip, int sz, int* opt, bool opt_asc);

void merge(int* ip, int sz, int* opt, bool opt_asc)

{

  int s1 = 0;

  int mid_sz = sz / 2;

  int s2 = mid_sz;

  int e2 = sz;

  int s3 = 0;

  int end3 = sz;

  int i, j;

   

  if (opt_asc==true)

  {

      i = s1;

      j = e2 - 1;

      while (i < mid_sz && j >= s2)

      {

          if (*(ip + i) > *(ip + j))

          {

              *(opt + s3) = *(ip + j);

              s3++;

              j--;

          }

          else if (*(ip + i) <= *(ip + j))

          {

              *(opt + s3) = *(ip + i);

              s3++;

              i++;

          }

      }

      if (i != mid_sz)

      {

          while (i < mid_sz)

          {

              *(opt + s3) = *(ip + i);

              s3++;

              i++;

          }

      }

      if (j >= s2)

      {

          while (j >= s2)

          {

              *(opt + s3) = *(ip + j);

              s3++;

              j--;

          }

      }

  }

  else

  {

      i = mid_sz - 1;

      j = s2;

      while (i >= s1 && j <e2)

      {

          if (*(ip + i) > *(ip + j))

          {

              *(opt + s3) = *(ip + i);

              s3++;

              i--;

          }

          else if (*(ip + i) <= *(ip + j))

          {

              *(opt + s3) = *(ip + j);

              s3++;

              j++;

          }

      }

      if (i >= s1)

      {

          while (i >= s1)

          {

              *(opt + s3) = *(ip + i);

              s3++;

              i--;

          }

      }

      if (j != e2)

      {

          while (j < e2)

          {

              *(opt + s3) = *(ip + j);

              s3++;

              j++;

          }

      }

  }

   

  for (i = 0; i < sz; i++)

      *(ip + i) = *(opt + i);

}

int* mergesort(int* ip, int sz)

{

  int* opt = new int[sz];

   

  mergesort(ip, sz, opt, true);

  return opt;

}

void mergesort(int *ip, int sz, int* opt, bool opt_asc)

{

  if (sz > 1)

  {

      int q = sz / 2;

      mergesort(ip, sz / 2, opt, true);

      mergesort(ip + sz / 2, sz - sz / 2, opt + sz / 2, false);

      merge(ip, sz, opt, opt_asc);

  }

}

int main()

{

  int arr1[12] = { 5, 6, 9, 8,25,36, 3, 2, 5, 16, 87, 12 };

  int arr2[14] = { 2, 3, 4, 5, 1, 20,15,30, 2, 3, 4, 6, 9,12 };

  int arr3[10] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

  int *opt;

  cout << "Arays after sorting:\n";

  cout << "Array 1 : ";

  opt = mergesort(arr1, 12);

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

      cout << opt[i] << " ";

  cout << endl;

  cout << "Array 2 : ";

  opt = mergesort(arr2, 14);

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

      cout << opt[i] << " ";

  cout << endl;

  cout << "Array 3 : ";

  opt = mergesort(arr3, 10);

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

      cout << opt[i] << " ";

  cout << endl;

  return 0;

}

Other Questions
1. Frankenstein was written in 1818. Why do you think the story is still well-knowntoday? An airplane is flying overhead at a constant elevation of 4090 ft. A person is viewing the plane from a position 3010 ft from the base of a radio tower. The airplane is flying horizontally away from the person. If the plane is flying at the rate of 700 ft/s, at what rate is the distance between the person and the plane increasing when the plane passes over the radio tower Identify which equations have one solution, infinitely many solutions, or no solution. 3/2x + 2.3 1/2x = 4.3 + x 2x + 2/3 = 2x + 4/5 4x 17/4 + 4.2y - 9/4 = 2.2y + 6 + 2y - 4 5r + 2 = 6r + 3 r -2x + 2 + 4x = 16/5 + 2x - 6/5 3.2p 2.5 + 2.1p = 5p 7/2 10.The density of aluminum is 2.70 g/mL. If the mass of a piece of aluminum is 244 grams, what is the volume of the aluminum? Which statement best describes how James Cross Giblin creates the characters in his book?James Cross Giblin shows what his characters are like by focusing on what other characters say about them.James Cross Giblin shows what his characters are like by focusing on what his characters look like.James Cross Giblin shows what his characters are like by focusing on what they say to other characters.James Cross Giblin shows what his characters are like by focusing on what they think and do. How can hope be applied to adults? The table below shows the median annual salaries in the United States by gender. Use the skills from this lesson to correlate trends in the US from 2000 to 2010 in the number of people who received a bachelor degree to annual salaries by gender. Assuming a linear relationship between year and salaries by gender, determine when the median annual salary for women will exceed men. Justify your answer. Include in the discussion the regression analysis you performed. i need help with this 9Select the correct answer.Which of the following is a medicine that stimulates the body's immune response to make disease-fighting molecules to attack a specific pathogen?A. analgesicB. antibioticC. antitoxinReset NextPost Test: Substance Abuse 2020 Edmentum. All rights reserved. Two lines in the same plane that do not intersect are.A.line segment B.perpendicular C.parallelD.midpoint What was moral dignity a function of, for Kant? Match the items in column A to the items in column B.M. et Mme?Mr. and Mrs.M.MissMlle?Mrs.MmeMr.? A 10-foot ladder leans against a wall. It hits the wall 9 feet up. How far is the base of the ladder from the wall? how many elements belong to the Halogen family? list the member element by thier symbol. 3/5 x 1/7 please help HINThe cliff dwellings in Mesa VerdeNational Park are accessible to visitorsonly when accompanied by a parkranger. Billy is at a cliff dwelling inMesa Verde National Park. So, Billy(is, may be, is not) with a park ranger.Deductive reasoning What problem is the cartoon meant to highlight? the monopolies created by large corporations the corruption of government by monopolies the struggle between government regulation and business the pollution caused by the growth of industry in the country I NEED HELP PLEASE !!1) 3ab+5ba2) Round off 68.374 to two decimal places 3) 3(c+7)4) What fraction of 2 metres is 40cm ? 5-5. Design an Ethernet network to connect a single client P C to a single server. Both the client and the server will connect to their workgroup switches via U T P. The two devices are 900 meters apart. They need to communicate at 800 M b p s. Your design will specify the locations of any switches and the transmission link between the switches.5-6. Add to your design in the previous question. Add another client next to the first client. Both connect to the same switch. This second client will also communicate with the server and will also need 800 M b p s in transmission speed. Again, your design will specify the locations of switches and the transmission link between the switches. What is special about the North Star