Write the resize function for the dynamic, partially-filled array below. Follow the comments to complete the function. dynamic.cpp 1 #include 2 #include 3 #include "debug_new.h" 4 #include "array.h" 5 using namespace std; 7 ** Resize a dynamic chunk of memory. @param arg a pointer to the beginning of the array @param size the current allocated size @return a pointer to an initialized 2x chunk. 10 11 12 */ 13 int* resize(int* a, int size) 14 { 15 // Allocate a new array twice the size of the original 16 // Copy the original elements into the new array 17 |/ Free the original array 18 |/ Return the new array 19 } 20 int main(int argc, char* argv[]) 22 21 23 int size = 0; int capacity = 2; // initial capacity is 2 int *a = new int[capacity]; 24 25 26 cout « "Enter positive numbers (negative to quit): "; int n; cin » n; while (n >= 0) { if (size == capacity) { a = resize(a, size); // Write this function сарacity * 23 27 28 29 30 31 32 33 34 35 36 a[size] = n; cin » n; size++; 37 38 39 40 41 print("a->", a, size); delete[] a; 42 43 }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Write the resize function for the dynamic, partially-filled array below. Follow the comments to
complete the function.
dynamic.cpp
1 #include <iostream>
2 #include <string>
3 #include "debug_new.h"
4
#include "array.h"
5 using namespace std;
6.
7
/**
Resize a dynamic chunk of memory.
@param arg a pointer to the beginning of the array
@param size the current allocated size
@return a pointer to an initialized 2x chunk.
10
11
12
*/
13
int* resize(int* a, int size)
{
14
15 // Allocate a new array twice the size of the original
16
// Copy the original elements into the new array
// Free the original array
// Return the new array
17
18
19
}
20
int main(int argc, char* argv[])
22
21
{
23
int size = 0;
int capacity = 2; // initial capacity is 2
int *a = new int[capacity];
24
25
26
27
cout « "Enter positive numbers (negative to quit): ";
int n;
cin >> n;
while (n >= 0)
{
if (size
{
a = resize(a, size); // Write this function
capacity *= 2;
28
29
30
31
32
== capacity)
33
34
35
36
37
a[size]
= n;
38
cin >> n;
39
size++;
}
print("a->", a, size);
delete[] a;
40
41
42
43 }
Transcribed Image Text:Write the resize function for the dynamic, partially-filled array below. Follow the comments to complete the function. dynamic.cpp 1 #include <iostream> 2 #include <string> 3 #include "debug_new.h" 4 #include "array.h" 5 using namespace std; 6. 7 /** Resize a dynamic chunk of memory. @param arg a pointer to the beginning of the array @param size the current allocated size @return a pointer to an initialized 2x chunk. 10 11 12 */ 13 int* resize(int* a, int size) { 14 15 // Allocate a new array twice the size of the original 16 // Copy the original elements into the new array // Free the original array // Return the new array 17 18 19 } 20 int main(int argc, char* argv[]) 22 21 { 23 int size = 0; int capacity = 2; // initial capacity is 2 int *a = new int[capacity]; 24 25 26 27 cout « "Enter positive numbers (negative to quit): "; int n; cin >> n; while (n >= 0) { if (size { a = resize(a, size); // Write this function capacity *= 2; 28 29 30 31 32 == capacity) 33 34 35 36 37 a[size] = n; 38 cin >> n; 39 size++; } print("a->", a, size); delete[] a; 40 41 42 43 }
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY