Tri à bulle
Résolu/Fermé
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
-
24 mars 2008 à 12:49
b_khallou Messages postés 335 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 14 octobre 2011 - 24 mars 2008 à 13:59
b_khallou Messages postés 335 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 14 octobre 2011 - 24 mars 2008 à 13:59
A voir également:
- Tri bulle c
- Tri a bulle en c - Forum C
- Excel info bulle passage souris ✓ - Forum Excel
- Tri automatique excel ✓ - Forum Excel
- Tri automatique excel sans macro - Forum Excel
- Tri excel - Guide
5 réponses
couc
Messages postés
13
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
10 novembre 2008
1
24 mars 2008 à 12:54
24 mars 2008 à 12:54
en c++ tu peux faire comme ca :
int i, j, k ;
i=0 ;
while (i<n)
{
for (j=n; j>=i+1; j--)
if (T[j]<T[j-1];
{
l=T[j-1];
T[j-1]=T[j];
T[j]=l;
}
}
i++;
}
int i, j, k ;
i=0 ;
while (i<n)
{
for (j=n; j>=i+1; j--)
if (T[j]<T[j-1];
{
l=T[j-1];
T[j-1]=T[j];
T[j]=l;
}
}
i++;
}
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
24 mars 2008 à 13:01
24 mars 2008 à 13:01
est ce que c'est une methode recursive ? et je cherche un algorithme sous cette forme ( pas langage C ou Java); cette procedure est iterative ,alors comment je peut le rendre recursive . et je vous remerci.
PRODECURE Tri_bulle (Tableau a[1:n])
VARIABLE permut : Booleen;
REPETER
permut = FAUX
POUR i VARIANT DE 1 à N-1 FAIRE
SI a[i] > a[i+1] ALORS
echanger a[i] et a[i+1]
permut = VRAI
FIN SI
FIN POUR
TANT QUE permut = VRAI
FIN PROCEDURE
PRODECURE Tri_bulle (Tableau a[1:n])
VARIABLE permut : Booleen;
REPETER
permut = FAUX
POUR i VARIANT DE 1 à N-1 FAIRE
SI a[i] > a[i+1] ALORS
echanger a[i] et a[i+1]
permut = VRAI
FIN SI
FIN POUR
TANT QUE permut = VRAI
FIN PROCEDURE
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
24 mars 2008 à 13:59
24 mars 2008 à 13:59
<code>je m'excuse il ya une faute ds la derniere version voila une autre version plus meilleur
procedure Tribull(var Tab:Tableau;n:integer) ;
var j, t, temp : integer;
begin
if n >=1 then
begin
for j := 2 to n do
if Tab[ j-1 ] > Tab[ j ] then
begin
temp := Tab[j-1];
Tab[j-1] := Tab[j];
Tab[j] := temp;
end;
tribull(tab,n-1);
end;
end;
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
24 mars 2008 à 13:11
24 mars 2008 à 13:11
voila jé trouvé la solution
Procedure Tri_bulles (var t : TAB; n : integer);
Var i, aux : integer;
Function Trier (t : TAB; n : integer) : Boolean;
Var ok : boolean; i : integer;
Begin
ok := true; i := 1;
Repeat
If t[i + 1] < t[i] Then ok := false
Else i := i + 1;
Until ((Not ok) or (i >= n));
Trier := ok;
End;
Begin
If Not Trier (t, n) Then
Begin
For i := 1 To n - 1 Do
If t[i] > t[i + 1] Then
Begin
aux := t[i];
t[i] := t[i + 1];
t[i + 1] := aux;
End;
Tri_bulles (t, n);
End;
End;
Procedure Tri_bulles (var t : TAB; n : integer);
Var i, aux : integer;
Function Trier (t : TAB; n : integer) : Boolean;
Var ok : boolean; i : integer;
Begin
ok := true; i := 1;
Repeat
If t[i + 1] < t[i] Then ok := false
Else i := i + 1;
Until ((Not ok) or (i >= n));
Trier := ok;
End;
Begin
If Not Trier (t, n) Then
Begin
For i := 1 To n - 1 Do
If t[i] > t[i + 1] Then
Begin
aux := t[i];
t[i] := t[i + 1];
t[i + 1] := aux;
End;
Tri_bulles (t, n);
End;
End;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
24 mars 2008 à 13:12
24 mars 2008 à 13:12
Procedure Tri_bulles (var t : TAB; n : integer);
Var i, aux : integer;
Function Trier (t : TAB; n : integer) : Boolean;
Var ok : boolean; i : integer;
Begin
ok := true; i := 1;
Repeat
If t[i + 1] < t[i] Then ok := false
Else i := i + 1;
Until ((Not ok) or (i >= n));
Trier := ok;
End;
Begin
If Not Trier (t, n) Then
Begin
For i := 1 To n - 1 Do
If t[i] > t[i + 1] Then
Begin
aux := t[i];
t[i] := t[i + 1];
t[i + 1] := aux;
End;
Tri_bulles (t, n);
End;
End;
Var i, aux : integer;
Function Trier (t : TAB; n : integer) : Boolean;
Var ok : boolean; i : integer;
Begin
ok := true; i := 1;
Repeat
If t[i + 1] < t[i] Then ok := false
Else i := i + 1;
Until ((Not ok) or (i >= n));
Trier := ok;
End;
Begin
If Not Trier (t, n) Then
Begin
For i := 1 To n - 1 Do
If t[i] > t[i + 1] Then
Begin
aux := t[i];
t[i] := t[i + 1];
t[i + 1] := aux;
End;
Tri_bulles (t, n);
End;
End;