Écrire un programme permettant de décaler les valeurs nulles vers la fin du tableau , en gardant l'ordre des éléments.
Exemple 1 2 0 6 9 0 0 8 0 3
Résultat 1 2 6 9 8 3 0 0 0 0

******** En Algorithme ********

Algorithme Variables Tab[10],aide,i,j: Entiers Debut pour i de 1 à 10 faire Lire(Tab[i]) FinPour pour i de 1 à 10 faire Ecrire(Tab[i]) FinPour pour i de 1 à 9 faire Si(Tab[i]=0)alors j←i+1; TantQue(Tab[j]=0 et j<9)faire j← j+1 FinTantQue aide ← Tab[i] Tab[i]← Tab[j] Tab[j]← aide FinSi FinPour pour i de 1 à 10 faire Ecrire(Tab[i]) FinPour Fin Résultat ==> 0 9 5 7 0 3 0 1 3 0 9 5 7 3 1 3 0 0 0 0

Retour vers la liste d'exercices

******** En langage C ********

#include<stdio.h> #include<conio.h> int main(){ int Tab[10],aide,i,j; for(i=0;i<10;i++) { printf("Element[%d]=",i); scanf("%d",&Tab[i]); } for(i=0;i<10;i++) printf("%d ",Tab[i]); for(i=0;i<9;i++) { if(Tab[i]==0) { j=i+1; while(Tab[j]==0 && j<9) {j++;} aide = Tab[i]; Tab[i]= Tab[j]; Tab[j]= aide ; } } printf("\n"); for(i=0;i<10;i++) printf("%d ",Tab[i]); return 0; }

Retour vers la liste d'exercices


******** En C++ ********

#include <iostream> using namespace std; int main(){ int Tab[10],aide,i,j; for(i=0;i<10;i++) { cout<<"Element["<<i<<"]="; cin>>Tab[i]; } for(i=0;i<10;i++) cout<<Tab[i]<<" "; for(i=0;i<9;i++) { if(Tab[i]==0) { j=i+1; while(Tab[j]==0 && j<9) {j++;} aide = Tab[i]; Tab[i]= Tab[j]; Tab[j]= aide ; } } cout<<endl; for(i=0;i<10;i++) cout<<Tab[i]<<" "; return 0; }