// Hudson price CS1A
/*******************************************************************************
* Shift Elements in Array
*______________________________________________________________________________
*this program will duplicate the array nd shit it by one
* The function will return the pointer of the new array.
*______________________________________________________________________________
* INPUT
* the arrayof origional pointers
*
* OUTPUT
* poibnter with tthe shifted elements
*
******************************************************************************/
#include <iostream>
using namespace std;
int* expandArray(const int* arr, int size);
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int* expandedArr = expandArray(arr, size);
cout << "Expanded array:\n";
for (int i = 0; i < 2 * size; ++i)
{
cout << expandedArr[i] << " ";
}
cout << endl;
delete[] expandedArr;
return 0;
}
int* expandArray(const int* arr, int size)
{
int* newArr = new int[2 * size];
for (int i = 0; i < size; ++i)
{
newArr[i] = arr[i];
}
for (int i = size; i < 2 * size; ++i)
{
newArr[i] = 0;
}
return newArr;
}
Ly8gSHVkc29uIHByaWNlCQkJIENTMUEJCQkJICAgCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBTaGlmdCBFbGVtZW50cyBpbiBBcnJheQogKl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogKnRoaXMgcHJvZ3JhbSB3aWxsIGR1cGxpY2F0ZSB0aGUgYXJyYXkgbmQgc2hpdCBpdCBieSBvbmUgCiAqICBUaGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gdGhlIHBvaW50ZXIgb2YgdGhlIG5ldyBhcnJheS4KICpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICogSU5QVVQKICogdGhlIGFycmF5b2Ygb3JpZ2lvbmFsIHBvaW50ZXJzCiAqIAogKiBPVVRQVVQKICogcG9pYm50ZXIgd2l0aCB0dGhlIHNoaWZ0ZWQgZWxlbWVudHMKICogCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50KiBleHBhbmRBcnJheShjb25zdCBpbnQqIGFyciwgaW50IHNpemUpOwoKaW50IG1haW4oKSAKewogICAgCiAgICBpbnQgYXJyW10gPSB7MSwgMiwgMywgNCwgNX07CiAgICBpbnQgc2l6ZSA9IHNpemVvZihhcnIpIC8gc2l6ZW9mKGFyclswXSk7CgogICAgaW50KiBleHBhbmRlZEFyciA9IGV4cGFuZEFycmF5KGFyciwgc2l6ZSk7CgogICAgY291dCA8PCAiRXhwYW5kZWQgYXJyYXk6XG4iOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyICogc2l6ZTsgKytpKSAKICAgIHsKICAgICAgICBjb3V0IDw8IGV4cGFuZGVkQXJyW2ldIDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKCiAgIAogICAgZGVsZXRlW10gZXhwYW5kZWRBcnI7CgogICAgcmV0dXJuIDA7Cn0KCmludCogZXhwYW5kQXJyYXkoY29uc3QgaW50KiBhcnIsIGludCBzaXplKSAKewogCiAgICBpbnQqIG5ld0FyciA9IG5ldyBpbnRbMiAqIHNpemVdOwoKICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSAKICAgIHsKICAgICAgICBuZXdBcnJbaV0gPSBhcnJbaV07CiAgICB9CgogICAgZm9yIChpbnQgaSA9IHNpemU7IGkgPCAyICogc2l6ZTsgKytpKSAKICAgIHsKICAgICAgICBuZXdBcnJbaV0gPSAwOwogICAgfQoKICAgIHJldHVybiBuZXdBcnI7Cn0K