17 Mar2016
Inverser un tableau
Objectif:
Manipuler les tableaux à une seule dimension
Énoncé:
Ecrire un programme C qui lit la taille N d'un tableau T du type entier, remplit le tableau par des valeurs entrées au clavier.
Ranger ensuite les éléments du tableau T dans l'ordre inverse :
- En utilisant un tableau d’aide.
- Sans utiliser un tableau d’aide.
Afficher le tableau résultant.
Exemple d’exécution :
Entrer la taille du tableau: 4
Remplissage du tableau:
Entrer l'element 1 :8
Entrer l'element 2 :2
Entrer l'element 3 :91
Entrer l'element 4 :23
Le tableau dans l'ordre inverse:
23 91 2 8
Solution avec tableau d'aide:
//Programme : Inverser un tableau avec tableau d'aide //Auteur : IDMANSOUR //Copyright : Exelib.net #include<stdio.h> main() { int n,i, T1[30],T2[30]; printf("Entrer la taille du tableau: "); scanf("%d",&n); printf("\nRemplissage du tableau: \n"); for(i=0; i<n; i++){ printf("Entrer l'element %d :", i+1); scanf("%d",&T1[i]); } for(i=0; i<n; i++){ T2[i] = T1[n-i-1]; } printf("\nLe tableau dans l'ordre inverse: \n"); for(i=0; i<n; i++){ printf("%d\t",T2[i]); } }
Solution sans tableau d'aide:
//Programme : Inverser un tableau sans tableau d'aide //Auteur : IDMANSOUR //Copyright : Exelib.net #include<stdio.h> main() { int n, i, T[30], a; printf("Entrer la taille du tableau: "); scanf("%d",&n); printf("\nRemplissage du tableau: \n"); for(i=0; i<n; i++){ printf("Entrer l'element %d :", i+1); scanf("%d",&T[i]); } for(i=0; i<n/2; i++){ a = T[i]; T[i] = T[n-i-1]; T[n-i-1] = a; } printf("\nLe tableau dans l'ordre inverse: \n"); for(i=0; i<n; i++){ printf("%d\t",T[i]); } }
La boucle qui inverse le tableau doit aller jusqu'à n/2 sinon le tableau ne sera pas inversé.