Merci beaucoup pour cette proposition
Mr Zouari .Voilà ma proposition et j'éspère trouver des réctifications!
Code: 

- Program tri;
- Uses wincrt;
- Const n=50;
- Type
- tableau=array [1..n]of char;
- Var Tab:tableau;
-
- Procedure remplir_tableau (var T:tableau;b:integer);
- var i:integer;
- Begin
- For i:=1 to n do
- Begin
- Case random(3) of
- 0 :T[i]:='J';
- 1 :T[i]:='R';
- 2 :T[i]:='V';
- end;
- End;
- end;
-
- Procedure afficher_tableau (A:tableau;m:integer);
- var i:integer;
- begin
- For i:=1 to m do
- write(A[i],',');
- end;
-
- Procedure trier_tableau (var c:tableau;k:integer);
- var i:integer;
- trie:boolean;
-
- Procedure Permuter(var i,j:char);
- var aux:char;
- begin
- aux:=i;
- i:=j;
- j:=aux;
- end;
-
- begin
- Repeat
- trie:=false;
- For i:=1 to k-1 do
- begin
- If ((c[i]='J') and (c[i+1]='V')) or ((c[i]='R') and (c[i+1]='V')) or ((c[i]='R') and (c[i+1]='J'))
- then begin permuter(c[i],c[i+1]);
- trie:=true;
- end;
- end;
- k:=k-1;
- Until (k=1) or not(trie);
- end;
-
- Begin
- remplir_tableau(tab,n);
- trier_tableau (tab,n) ;
- afficher_tableau(tab,n);
- end.
Merci encore !
(Modifié par med_89 le 03-04-2008 à 12:49)