あなたは別の配列を作成しなくても、それを行うことができます:n-1の要素を持つあなたが最初の要素だけを交換する必要がループ内で上記の見ることができるように
void reverse(int* array, const int size){
for(int i = 0; i < size/2; i++){
int tmp = array[i];
array[i] = array[size - 1 - i];
array[size - 1 - i] = tmp;
}
}
int main(){
int array[] = {1, 3, 5, 7, 9, 11};
const int size = sizeof(array)/sizeof(array[0]);
reverse(array, size);
for(int i(0); i < size; i++)
std::cout << array[i] << ", ";
}
を(要素0)と2番目はn-1-1と息子...
0
からn-1
にインデックスが付けられています。
あなたは実用的ではない新しい配列割り当てたい場合は:あなたはあなたができる新しい配列を使用したい場合は
int* reverse2(int* array, const int size){
int* tmp = new int[size];
for(int i(size - 1), j(0); j < size; j++, i--)
tmp[j] = array[i];
return tmp;
}
int main(){
int array[] = {1, 3, 5, 7, 9, 11};
for(int i(0); i < size; i++)
std::cout << array[i] << ", ";
std::cout << std::endl;
int* newArray = reverse2(array, size);
for(int i(0) ; i < size; i++)
std::cout << newArray[i] << ", ";
std::cout << std::endl;
delete[] newArray;
return 0;
}
'int型*配列=新しいint型[サイズ];' – Raindrop7
は、なぜあなたは二番目の配列が必要なのでしょうか?オリジナルの配列を使用してその位置を元に戻します。 –
動的配列が必要な場合。ただ、[std :: vector](http://en.cppreference.com/w/cpp/container/vector)を使用してください。 –