正在尋找一些家庭作業幫助。不是爲了正確方向的微調而作出的答案。給我們一些數字,數組的大小和我們加倍的次數。我們要加倍的大小,複製相同的數字,然後乘以第二半數字。更改號碼的問題
所以如果數組是{0,1}與數字2.最後一個數組將是{0,1, 0,2,0,2,0,4}。
我的代碼編譯正確,並返回一些非常奇怪的數字,對於原始數組{0,1}和數字3給我一堆0和中間的一個隨機135057。
繼承人我的代碼:
int *ArrayDynamicAllocation(int array[], int size, int number)
{
for (int runs = 1;runs < number; runs++) {
int new_size = size * 2;
int *new_array = new int[new_size];
for (int x = 0;x < size; x++) {
new_array[x] = array[x];
}
for (int y = size+1; size < new_size; size++) {
new_array[y] = array[y];
}
size = new_size;
array = new_array;
delete [] new_array;
}
return array;
}
你們兩個真的需要網絡會議:[看到這個問題](http://stackoverflow.com/questions/28059689/function-to-double-size-of-array-arbitrary-number-of-times) – WhozCraig 2015-01-21 04:58:49
'array = new_array;''delete [] new_array;'你將指向新創建的'new_array'的指針指向'array'並刪除內存。 – Elvisjames 2015-01-21 06:05:42
'new_array [y] = array [y];'沒有'數組[y]' – Elvisjames 2015-01-21 06:11:50