Ask Programming Language Expert

Problem:

Write a C++ program that will implement and test the four functions described below that use pointers and dynamic memory allocation.

The Functions:

You will write the four functions described below. Then you will call them from the main function, to demonstrate their correctness.

1. isReverse: takes two int arrays and the arrays' sizes as arguments (4 arguments). It should return true if the second array is equivalent to the first array in reverse order. Do not use square brackets anywhere in the function, not even the parameter list (use pointers instead).

2. pizza: The following function uses reference parameters. Rewrite the function so it uses pointers instead of reference parameters. When you test this function from the main program, demonstrate that it sets the values of the variables passed into it.

double pizza (int people, int &pizzas, int &slices) { int totalSlices = people*3;
pizzas = totalSlices/8; slices = totalSlices%8;
return pizzas*11.95 + slices*1.75;
}

3. doubleArray: takes an int array and the array's size as arguments. It should create a new array that is twice the size of the argument array. The function should copy the contents of the argument array to the first half of the new array, and again to the second half of the new array. The function should return a pointer to the new array.

4. subArray: takes an int array, a start index and a length as arguments. It creates a new array that is a copy of the elements from the original array starting at the start index, and has length equal to the length argument. For example, subArray(aa,5,4) would return a new array containing only the elements aa[5], aa[6], aa[7], and aa[8].

You must define subArray as follows:

Add the code for the duplicateArray function from the lecture slides for chapter 9 to your program. Add the code for the subArray function given below to your program. Fill in the blanks with expressions so that the function subArray behaves as described above.

int *subArray (int *array, int start, int length) {
int *result = duplicateArray( , ); return result;
}

DO NOT alter duplicateArray, DO NOT alter subArray as defined above.

Output:

Test these four functions using the main function as a driver. The driver should pass constant test data as arguments to the functions. Select appropriate test data for each function and then call that function using the test data. For each function, you should output the following: a label indicating which function is being tested, the test data, the expected results, and the actual results. For the test data and Expected result, you should hard code the output values (use string literals containing the numeric values), for the Actual result, use the actual values returned/altered by the function.

testing isReverse:
test data array 1: 1 2 3 4 5 6 7 8
test data array 2: 8 7 6 5 4 3 2 1
Expected result: true
Actual result: true
test data array 1: 1 2 3 4 5 6 7 8
test data array 3: 8 7 6 6 4 3 2 1
Expected result: false Actual result: false

testing pizza for 25 people: Expected result: 112.80 p: 9 s: 3
Actual results : 112.80 p: 9 s: 3

testing doubleArray:
test data: 1 2 3 4 5 6 7 8 9
Expected result: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
Actual result: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

testing subArray:
test data: 1 2 3 4 5 6 7 8 9 32767
start: 5 length: 4
Expected result: 6 7 8 9
Actual result: 6 7 8 9

RULES:

- DO NOT change the names of the functions!
- DO NOT do any output from the functions (only from main)!
- DO NOT get any input from the user!! Use constants for test values!!

NOTES:

- This program must be done in a Linux or Unix environment, using a command line compiler like g++. Do not use codeblocks, eclipse, or Xcode to compile.
- Your program must compile and run, otherwise you will receive a score of 0.
- There is NO Test Case 0 for this assignment.

- It is your responsibility to fully test your functions. They must work for ANY valid input. The main function must have at least one test case for each function.
- For pizza, compute the value of the call to pizza BEFORE you output it:

int z = pizza(.......); cout << z << .....;

- You do not need to use named constants for your test data (or array sizes) in this assignment, but you DO need to follow the rest of the style guidelines including function definition comments.

- Your program should release any dynamically allocated memory when it is finished using it.

- I recommend using a function that displays the values of an int array on one line, separated by spaces, for displaying test arrays and results.

Logistics:

Name your file assign3_xxxxx.cpp where xxxxx is your TX State NetID (your txstate.edu email id). The file name should look something like this: assign3_js236.cpp

There are two steps to the turn-in process:

1. Submit an electronic copy using the Assignments tool on the TRACS website for this class.

2. Submit a printout of the source file at the beginning of class, the day the assignment is due. Please print your name on top of the front page, and staple if there is more than one page.

See the assignment turn-in policy on the course website (cs.txstate.edu/~js236/cs2308) for more details.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M92001721

Have any Question?


Related Questions in Programming Language

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

Assignment - proposal literature review research method1

Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Task silly name testeroverviewcontrol flow allows us to

Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

Structs and enumsoverviewin this task you will create a

Structs and Enums Overview In this task you will create a knight database to help Camelot keep track of all of their knights. Instructions Lets get started. 1. What the topic 5 videos, these will guide you through buildi ...

Task working with arraysoverviewin this task you will

Task: Working with Arrays Overview In this task you will create a simple program which will create and work with an array of strings. This array will then be populated with values, printed out to the console, and then, w ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As