Question
/* Array expander: Write a function that accepts an int array as argument. The function should create a new array that is n times the
/* Array expander: Write a function that accepts an int array as argument. The function should create a new array that is n times the size of the argument array, where n is a user input. The function should copy the contents of the argument array to the new array, and initialize the unused elements of the second array with 0. The function should return a pointer to the new array */
#include using namespace std;
const int NUM_ELEM = 5; int* expandArray(int *a, int expFactor);
int main() {
int origArr[NUM_ELEM], n;
for (int i = 0; i < NUM_ELEM; ++i) origArr[i] = i;
cout << "Original array" << endl;
for (int i = 0; i < NUM_ELEM; ++i) cout << origArr[i] << " ";
cout << endl; cout << "By how many times should the new array grow" << endl;
cin >> n;
int *newArr = expandArray(origArr, n);
for (int i = 0; i < n*NUM_ELEM; ++i) cout << newArr[i] << " ";
cout << endl;
delete [] newArr; return 0;
}
int* expandArray(int *a, int expFactor) {
// Your code goes here }
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