Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

/* In-class programming assignment 9 Program works with arrays using pointers to reference elements instead of indexes. */ #include #include using namespace std; int main()

/*

In-class programming assignment 9

Program works with arrays using pointers to reference

elements instead of indexes.

*/

#include

#include

using namespace std;

int main()

{

// initialize a 1 dimensional array

int arr [10] = {2, 4, 5, 6, 7, 8, 9, 10, 11, 13};

// pointer that moves thru an array to visit elements

int *mover,

*last;// a pointer to the last element of the array

int n; // n is a step size for moving thru the array

last =

cout << "The array in forward direction is: ";

// print array in forward direction

for (mover = arr; mover <= last; mover++)

cout << *mover << " ";

cout << " The array addresses in forward are: ";

cout << " The array in reverse direction is: ";

cout << " Every second element of the array is: ";

4

// print every second element of the array

cout << " Enter an array step: ";

cin >> n;

cout << " Every nth element of the array is: ";

5

// print every nth element of the array

cout << " ";

return 0;

}

  • Make the following changes to your program at the indicated spots (you should not use indexes anywhere in the program, only pointers):

1. Assign the address of the last element of the array to last.

2. Add code that prints the addresses of the array elements separated by spaces.

3. Add code that prints the values in the array in reverse order.

4. Add code that prints the every second value of the array.

5. Add code that prints every nth value of the array (where n is given by the user).

  • The following questions will be discussed in class in order to help you understand pointers better:

1. Change the Boolean expression in the for loop for printing forward direction values to mover >= last. Run the program.

What happens? Explain clearly why.

Change the program back.

2. Change the increment in the for loop for printing forward direction values to mover--. Run the program. Let it continue to run for 97 seconds.

What happens? Explain clearly why.

Change the program back.

3. How far apart are the address values in the array?

4. Why does the answer to 3. make sense for the given array?

5. Change the type of the array to double and compile your program. Explain clearly why compiler errors occur.

6. Fix the program so that it works for a double value array. What change did you need to make?

7. Run the program. What part of the program output is different and why?

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Programming questions