Question
/* 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: ";
|
// print every second element of the array
cout << " Enter an array step: ";
cin >> n;
cout << " Every nth element of the array is: ";
|
// 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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started