Inverser un tableau
Résolu
Sabetodo
Messages postés
127
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
salut les gars!!je voulais inverser le contenu d'un tableau de telle sorte que le premier élément soit le dernier et le dernier soit le premier.Je sais que le tri serait la méthode idéale, mais je l'ai essaye dans u premier temps et je suis bloque! J'aimerais que qqn me donne juste des astuces pour y parvenir!
salut les gars!!je voulais inverser le contenu d'un tableau de telle sorte que le premier élément soit le dernier et le dernier soit le premier.Je sais que le tri serait la méthode idéale, mais je l'ai essaye dans u premier temps et je suis bloque! J'aimerais que qqn me donne juste des astuces pour y parvenir!
Configuration: Windows XP Firefox 3.0.5
5 réponses
-
Salut,
Si son programme marche. Pas besoin de deux tableaux ;)
T'inverse le premier élément avec le dernier, puis le second avec l'avant-dernier etc.
Pas besoin de tableau supplémentaire ;)-
salut fiddy, j'ai tenu compte de ce que tu ma dit et je viens de modifier mon prrogramme en utilisant la boucle.Lorsque je le compile, ça marche. mais quand je l'execute il ne m'affiche rien a l'ecran. Voici le code:
#include<stdio.h> main () { int i,tampon=0,tab[6]={6,8,1,2,3,8}; for(i=1;i<6;i++) { scanf("%d",&tab[i]); } for(i=1;i<3;i++) { tampon=tab[i]; tab[i]=tab[5-i]; tab[5-i]=tampon; } for(i=1;i<6;i++) { printf("%d",tab[i]); } }
NB: Étape 0 : on échange t[0] et t[5]
Étape 1 : on échange t[1] et t[4]
Étape 2 : on échange t[2] et t[3] -
Faut plutôt s'inspirer du premier programme.
Teste :#include <stdio.h> int main(void){ int tab[]={1,2,3,4,5,6,7,8,9,10}; const size_t n=sizeof tab/sizeof *tab; int debut=0,fin=n-1; int tmp; while(debut<fin){ tmp=tab[debut]; tab[debut]=tab[fin]; tab[fin]=tmp; debut++; fin--; } for(int i=0;i<n;i++) printf("%d ",tab[i]); puts(""); return 0; }
Cdlt
-