Bonjour,
pour cette excercice : Ecrire une Decalage*: permet de supprimer les répétitions par un décalage à gauche et de remplacer la valeur supprimée par 0.
exple :
entré : int T[6]={1,4,7,7,5,8,10,4,13,3,3,25,10,25,13,13,4, 7, 7, 10 }
Sortie :
4
7
10
13
3
25
0
0
0
0
0
0
0
0
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void main()
{
 int T[6]={1,4,7,7,5,8};//,10,4,13,3};//,3,25,10,25,13,13};//4 7 7 10 
 int n,decalage;
 n=6;
 //decalage 
 int decalege;
 for(int i=0;i<n;i++){
     //do{decalage=0;
          decalage=1;
           while(decalage>0){
              for(int j=i+1;j<n;j++){
           if(T[i]==T[j]){
               decalage+=1;
               for(int k=j;k<n-1;k++){
                   T[k]=T[k+1];
               }
               T[n-1]=0;
           }
            else
            decalage=0;
         //  for(int p=0;p<n;p++)printf("%d | ",T[p]);
 
          }
 }
 }
 for(int i=0;i<n;i++)
     printf("%d | ",T[i]);
 
}
MAis le résultat est incorrecte, pouvez vous svp m'aider à trouver l'erreur.