Answer the question
In order to leave comments, you need to log in
Good implementation of array reversal?
Good afternoon! There was a task in order to deal with arrays to write a program to flip an array, for example, a four-dimensional one. Please tell me if I did everything right and is it possible to return int* to 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";
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question