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
- Video bulle whatsapp - Accueil - Messagerie instantanée
- Tri excel - Guide
- Logiciel tri photo gratuit - Guide
- Tri automatique excel sans macro ✓ - Forum Excel
- Colis rejeté par le centre de tri aliexpress - Forum Consommation & Internet
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;