Inverser un tableau

Résolu
Sabetodo Messages postés 127 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
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!
A voir également:

5 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
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 ;)
2
Sabetodo Messages postés 127 Statut Membre 3
 
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]

    
0
fiddy Messages postés 11653 Statut Contributeur 1 847 > Sabetodo Messages postés 127 Statut Membre
 
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
0