There is a close association between pointers and arrays. Recall that an array variable is actually a pointer variable that points to the first indexed variable of the array. Array elements can be accessed using pointer notation as well as array notion. One problem with static arrays is that we must specify the size of the array when we write the program. This may cause two different problems: (1) we may create an array much larger than needed; or (2) we may create one that is smaller than what is needed. In general, this problem is created because we do not know the size of the array until the program is run. This is where dynamic arrays can be used. The new expression can be used to allocate an array on the freestore. Since array variables are pointer variables, you can use the new operator to create dynamic variables that are arrays and treat these dynamic array variables as if they were ordinary arrays. Array elements can also be accessed using pointer notation as well as array notation. Now, write a program to compute the maximum value in a dynamic array. Look over class notes and older array problems to see how you wrote a similar program for a static array, the logic will remain the same. Recall that to access element i in an array arr, we can use the pointer notation: *(arr + i) that is equivalent to arr[i]. Specifically, modify the program as follows: • Using an integer variable, prompt for and read in the size of the dynamic array. • Create a dynamic array numlist (using the new operator) of the size specified by the user. • Read in the values for the array using pointer notation inside a for loop. • Write and call a programmer defined function to compute the maximum value of your dynamic array. Your main function needs to pass the dynamic array and the size of the array to function. The function must return the maximum value of the dynamic array. Note that all your comparison and assignment operations needs to use pointer notation. • Display the maximum value with a suitable message. • And finally, delete the dynamic array once we are done with it.
There is a close association between pointers and arrays. Recall that an array variable is
actually a pointer variable that points to the first indexed variable of the array. Array
elements can be accessed using pointer notation as well as array notion.
One problem with static arrays is that we must specify the size of the array when we write
the program. This may cause two different problems: (1) we may create an array much
larger than needed; or (2) we may create one that is smaller than what is needed. In
general, this problem is created because we do not know the size of the array until the
program is run. This is where dynamic arrays can be used. The new expression can be used
to allocate an array on the freestore. Since array variables are pointer variables, you can
use the new operator to create dynamic variables that are arrays and treat these dynamic
array variables as if they were ordinary arrays. Array elements can also be accessed using
pointer notation as well as array notation.
Now, write a program to compute the maximum value in a dynamic array. Look over class
notes and older array problems to see how you wrote a similar program for a static array,
the logic will remain the same. Recall that to access element i in an array arr, we can use
the pointer notation: *(arr + i) that is equivalent to arr[i].
Specifically, modify the program as follows:
• Using an integer variable, prompt for and read in the size of the dynamic array.
• Create a dynamic array numlist (using the new operator) of the size specified by
the user.
• Read in the values for the array using pointer notation inside a for loop.
• Write and call a programmer defined function to compute the maximum value of
your dynamic array. Your main function needs to pass the dynamic array and the
size of the array to function. The function must return the maximum value of the
dynamic array. Note that all your comparison and assignment operations needs to
use pointer notation.
• Display the maximum value with a suitable message.
• And finally, delete the dynamic array once we are done with it.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images