1. Implement and grow a dynamic array using pointer arithmetic. a) Use the provided main function (see below). b) Implement a populate function which stores values from 0 to size into the array p using pointer arithmetic to access array locations. c) Implement a print function which prints the values of the array p using pointer arithmetic. d) Implement a printMemory function which prints the memory addresses of all elements in array p using pointer arithmetic. e) Implement a grow function which resizes the existing array from the initial size to a new size using pointer arithmetic. f) Verify via the output that the new array is a distinct memory space from the original array. Main: int main() { cout << endl; int size, newSize: cout<<"Enter a size: "; cin>> size: cout << endl; int p new int[size](); cout << "Original: "<>newsize: cout << endl; p grow(p, size, newSize); cout << "After grow: " << endl; print(p, newSize); printMemory(p, newSize); cout << endl; return 0; Output Example: Enter a size: 5 Original: 01234 0x7f970bd04080 0x71970bd04084 ex71970bd04088 0x7f970bd0408c 0x71970bd04090 Enter a new size: 3 Inside grow: 012 ex71970bd040a0 0x7f970bd040a4 0x7f970bd840a8 After grow: 012 ex7f970bd040a0 0x71970bd040a4 0x7f970bd040a8 Use following main function to test your program. int main() { cout << endl; int size, newSize; cout<<"Enter a size:"; cin>> size; cout << endl; int "p= new int[size](); cout << "Original: "<> newSize; cout << endl; p=grow(p, size, newSize); cout << "After grow: "<

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

C++ Programming Questions 1 and 2:
Hi there! I had troubling answering both of these review questions, the main function was just not working right for me. Would be very much appreciated if both of these questions could be answered. Thank you very much.

1. Implement
a) Use the provided main function (see below).
b) Implement a populate function which stores values from 0 to size into the
array p using pointer arithmetic to access array locations.
and grow a dynamic array using pointer arithmetic.
c) Implement a print function which prints the values of the array p using pointer
arithmetic.
d) Implement a printMemory function which prints the memory addresses of all
elements in array p using pointer arithmetic.
e) Implement a grow function which resizes the existing array from the initial
size to a new size using pointer arithmetic.
f) Verify via the output that the new array is a distinct memory space from the
original array.
Main:
int main() {
}
cout << endl;
int size, newSize;
cout << "Enter a size: ";
cin >> size;
cout << endl;
int *p = new int[size]();
cout << "Original: " << endl;
populate(p, size);
print(p, size);
printMemory (p, size);
cout << endl;
cout << "Enter a new size: ";
cin >> newSize;
cout << endl;
p = grow(p, size, newSize);
cout << "After grow: << endl;
print(p, newSize);
printMemory (p, newSize);
cout << endl;
return 0;
Output Example:
Enter a size: 5
Original:
0 1 2 3 4
0x7f970bd04080
0x7f970bd04084
0x7f970bd04088
0x7f970bd0408c
0x7f970bd04090
Enter a new size: 3
Inside grow:
012
0x7f970bd040a0
0x7f970bd040a4
0x7f970bd040a8
After grow:
0 1 2
0x7f970bd040a0
0x7f970bd040a4
0x7f970bd040a8
Use following main function to test your program.
int main() {
cout << endl;
int size, newSize;
cout << "Enter a size: ";
cin >> size;
cout << endl;
int *p = new int[size]();
cout << "Original: " << endl;
populate(p, size);
print(p, size);
printMemory (p, size);
cout << endl;
cout << "Enter a new size: ";
cin >> newSize;
cout << endl;
p = grow(p, size, newSize);
cout << "After grow: " << endl;
print(p, newSize);
printMemory(p, newSize);
cout << endl;
return 0;
}
2. Pointer arithmetic. Implement the following:
a. Implement a print function with array and size parameters. This function should print
the array using pointer arithmetic.
b. Overload the print function to accept array, size and index parameters. If the index is
between 1 and size-2 inclusive:
Use pointer arithmetic to print:
1. the value at index
2. the value previous to the index
3. the value after the index
c. Implement a sum function with array and size parameters. This function should return
sum of the array, and use pointer arithmetic.
d. Implement a average function with array and size parameters. This function should
return average of the array, and use pointer arithmetic.
e. Use provided main function to test your functions.
Main function:
int main() {
}
cout << endl;
int *a = new int[5] {5,15,25,35,45};
print(a, 5);
print(a, 5, 2);
cout<<endl<<sum(a,5)<<endl;
cout<<endl<<average (a,5)<<endl;
25
cout << endl;
return 0;
Output Example
5 15 25 35 45
15 25 35
125
Transcribed Image Text:1. Implement a) Use the provided main function (see below). b) Implement a populate function which stores values from 0 to size into the array p using pointer arithmetic to access array locations. and grow a dynamic array using pointer arithmetic. c) Implement a print function which prints the values of the array p using pointer arithmetic. d) Implement a printMemory function which prints the memory addresses of all elements in array p using pointer arithmetic. e) Implement a grow function which resizes the existing array from the initial size to a new size using pointer arithmetic. f) Verify via the output that the new array is a distinct memory space from the original array. Main: int main() { } cout << endl; int size, newSize; cout << "Enter a size: "; cin >> size; cout << endl; int *p = new int[size](); cout << "Original: " << endl; populate(p, size); print(p, size); printMemory (p, size); cout << endl; cout << "Enter a new size: "; cin >> newSize; cout << endl; p = grow(p, size, newSize); cout << "After grow: << endl; print(p, newSize); printMemory (p, newSize); cout << endl; return 0; Output Example: Enter a size: 5 Original: 0 1 2 3 4 0x7f970bd04080 0x7f970bd04084 0x7f970bd04088 0x7f970bd0408c 0x7f970bd04090 Enter a new size: 3 Inside grow: 012 0x7f970bd040a0 0x7f970bd040a4 0x7f970bd040a8 After grow: 0 1 2 0x7f970bd040a0 0x7f970bd040a4 0x7f970bd040a8 Use following main function to test your program. int main() { cout << endl; int size, newSize; cout << "Enter a size: "; cin >> size; cout << endl; int *p = new int[size](); cout << "Original: " << endl; populate(p, size); print(p, size); printMemory (p, size); cout << endl; cout << "Enter a new size: "; cin >> newSize; cout << endl; p = grow(p, size, newSize); cout << "After grow: " << endl; print(p, newSize); printMemory(p, newSize); cout << endl; return 0; } 2. Pointer arithmetic. Implement the following: a. Implement a print function with array and size parameters. This function should print the array using pointer arithmetic. b. Overload the print function to accept array, size and index parameters. If the index is between 1 and size-2 inclusive: Use pointer arithmetic to print: 1. the value at index 2. the value previous to the index 3. the value after the index c. Implement a sum function with array and size parameters. This function should return sum of the array, and use pointer arithmetic. d. Implement a average function with array and size parameters. This function should return average of the array, and use pointer arithmetic. e. Use provided main function to test your functions. Main function: int main() { } cout << endl; int *a = new int[5] {5,15,25,35,45}; print(a, 5); print(a, 5, 2); cout<<endl<<sum(a,5)<<endl; cout<<endl<<average (a,5)<<endl; 25 cout << endl; return 0; Output Example 5 15 25 35 45 15 25 35 125
Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education