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 :
MAis le résultat est incorrecte, pouvez vous svp m'aider à trouver l'erreur.
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]); }
Partager