Добрый день! Было задание с целью разобраться с массивами написать программу для переворачивания массива, например, четырехмерного. Подскажите пожалуйста, правильно ли я все сделал и можно ли вернуть int* к int(*)[][][]?
int offset(int a, int b, int c, int d){
return a * 8 + b * 4 + c * 2 + d;
}
int* array_reverse(int* pint, int elems){
int* parr = (int*)malloc(elems * sizeof (int));
for(int i = 0; i < elems; ++i){
parr[i] = pint[elems - 1 - i];
}
delete [] pint;
return parr;
}
int main(){
int arr[2][2][2][2] = {{{{1,2},{3,4}},{{5,6},{7,8}}}, {{{9,10},{11,12}},{{13,14},{15,16}}}};
int size = offset(1,1,1,1) + 1;
int* parr = (int*) arr;
for(int i = 0; i < size; ++i)
cout << parr[i] << " ";
cout << "\n";
parr = array_reverse(parr, size);
for(int i = 0; i < size; ++i)
cout << parr[i] << " ";
cout << "\n";
}