# Inversion d elements dans un tableau

**URL:** <https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725>\
**Category:** Programmation\
**Created:** [Juin 26, 2022, 1:07 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725 "2022-06-26T13:07:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pat66](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pat66/32/11445_2.png) [@Pat66](https://www.debian-fr.org/u/Pat66)\
**Post date:** [Juin 26, 2022, 1:07 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/1 "2022-06-26T13:07:15Z")

</div>

Bonjour

Je dois ecrire une fonction qui inverse l ordre des elements d’un tableau d entiers

prototypee de la sorte void ft\_rev\_int\_tab (int \*tab,int size);

le probleme est la realisation de l inversion des elements .

Merci pour vos eventuels explications.Je precise c est en C.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Juin 26, 2022, 1:25 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/2 "2022-06-26T13:25:46Z")

</div>

L’algorithme est simple  
Soit n le nombre d’élément  
tu met le nième élément dans un tampon, tu decalles le tableau, tu mets ton tapon dans le premier.

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Juin 26, 2022, 3:26 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/3 "2022-06-26T15:26:13Z")

</div>

Tu échanges le premier et le dernier en utilisant un tampon, puis le deuxième et l’avant-dernier, etc. Au total, « le quotient du nombre d’éléments par 2 » fois.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Juin 26, 2022, 3:41 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/4 "2022-06-26T15:41:05Z")

</div>

tu multiplies le vecteur colonne par la matrice contenant des 1 en diagonale basgauche vers hautdroit

sinon plus sérieusement il doit y avoir un truc avec les piles :

1. tu lis les éléments de ton tableau dans l’ordre et tu ajoutes à la pile
2. tu dépiles ( donc en commeçant pas le dernier qui est n-1 jusqu’à 0 )

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Juin 26, 2022, 4:21 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/5 "2022-06-26T16:21:10Z")

</div>

Bonjour

Peut-être comme ça :

```nohighlight
il faudra pouvoir stocker une valeur temporaire.

Échange la valeur du premier avec la valeur du dernier :
  copie la valeur du premier élément dans l'élément temporaire
  copie la valeur du dernier élément dans le premier élément
  copie la valeur de l'élément temporaire dans le dernier élément

puis échange la valeur du deuxième avec la valeur de l'avant dernier,
etc.

======

indice début = 0
indice fin = taille - 1

valeur temp = vide

tant que indice début est inférieur à indice fin, faire ce qui suit :
  valeur temp = valeur à l'indice début
  valeur début = valeur à l'indice fin
  valeur fin = valeur temp
  indice début = indice début + 1
  indice fin = indice fin - 1

```

---

<div class="post-metadata">

**Author:** ![Pat66](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pat66/32/11445_2.png) [@Pat66](https://www.debian-fr.org/u/Pat66)\
**Post date:** [Juin 26, 2022, 4:24 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/6 "2022-06-26T16:24:11Z")

</div>

BOnsoir MicP

encore une reponse qui tombe a pic je te sacre gouru 🙃 🙃 🙃

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Juin 27, 2022, 3:05 UTC](https://www.debian-fr.org/t/inversion-d-elements-dans-un-tableau/86725/7 "2022-06-27T15:05:14Z")

</div>

Sinon tu parcoure le tableau de 0 à (size/2)-1.  
Pour chaque valeur i de tableau,  
tampon=tab[i]  
tab[i]=tab[size-i]  
tab[size-i]=tab[i]

si size impair, `tab[1+size/2]` ne sera pas modifié.

sauf erreur de ma part c’est le moyen le plus rapide.
