1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| constexpr int Taille = 10;
int tab[Taille] = {0,1,2,3,4,5,6,7,8,9};
int tab2[Taille];
// cas trivial, on itère tab dans l'ordre, insère dans tab2 dans l'ordre inverse
for (int i = 0; i < Taille; ++i)
tab2[Taille - 1 - i] = tab[i];
// on inverse tab2 "in place"
memcpy(tab2, tab, Taille * sizeof(int));
for (int i = 0; i < Taille / 2; ++i)
{
int tmp = tab2[i];
tab2[i] = tab2[Taille - 1 - i];
tab2[Taille - 1 - i] = tmp;
}
// C++14 ou plus, utilisation de la std pour faire bien
auto itTab2 = std::begin(tab2);
for (auto it = std::crbegin(tab); it != std::crend(tab); ++it, ++itTab2)
*itTab2 = *it; |
Partager