Algorithme de recherche dichotomique

Résolu/Fermé
rafikadouni Messages postés 4 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 30 mai 2008 - 6 mai 2008 à 00:58
 fassou - 25 avril 2010 à 22:41
Bonjour,
salut je cherche tout informations sur le recherche dichotomique en algorithme svp
A voir également:

3 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
5 juin 2008 à 15:41
Je n'ai pas compris ta question. As-tu lu le lien ci-dessus ?
2
Tu peut aller sur le site du zero, à l'adresse: https://openclassrooms.com/fr/courses#ss_part_3 , ou à l'adresse https://openclassrooms.com/fr/courses
0
voila, c la répense de votre question:
program recherche_dichotomique;
uses wincrt;
type vect=array [1..50] of integer;
var n,e,i:integer;
t:vect;
exist:boolean;
procedure remplir (var t:vect;var n:integer);
var i:integer;
begin
repeat
write ('taper un entier:'); readln (n);
until n in [1..50];
write ('t[',1,']='); readln (t[1]);
for i:=2 to n do
begin
repeat
write ('t[',i,']='); readln(t[i]);
until t[i]>=t[i-1];
end;
write ('donner e:'); readln (e);
end;
function rech_dicho (var t:vect; var n,i:integer):boolean;
var trouve:boolean;
m,debut,fin:integer;
begin
debut := 1;
fin:=n;
trouve:=false;
repeat
m:=(debut+fin)div 2;
if t [m]= e then begin
trouve:= true;
end
else if t[m]<e then begin
debut:= m+1;
end
else begin
fin:=m-1;
end;
until (trouve=true) or (debut>fin);
rech_dicho:=true;
end;
begin
remplir (t,n);
exist:=rech_dicho (t,n,e);
if exist = true then begin
write (e ,'existe dqns T');
end
else begin
write (e ,'n"existe pas dans T');
end;
end.
0
chetouani > yossra
5 mai 2009 à 11:06
tu dois ajouter le morço en gra ds ton code. à par ça tout va tre bien:uses wincrt;
type vect=array [1..50] of integer;
var n,e,i:integer;
t:vect;
exist:boolean;
procedure remplir (var t:vect;var n:integer);
var i:integer;
begin
repeat
write ('taper un entier:'); readln (n);
until n in [1..50];
write ('t[',1,']='); readln (t[1]);
for i:=2 to n do
begin
repeat
write ('t[',i,']='); readln(t[i]);
until t[i]>=t[i-1];
end;
write ('donner e:'); readln (e);
end;
function rech_dicho (var t:vect; var n,i:integer):boolean;
var trouve:boolean;
m,debut,fin:integer;
begin
debut := 1;
fin:=n;
trouve:=false;
repeat
m:=(debut+fin)div 2;
if t [m]= e then begin
trouve:= true;
end
else if t[m]<e then begin
debut:= m+1;
end
else begin
fin:=m-1;
end;
until (trouve=true) or (debut>fin);
if trouve=true then
rech_dicho:=true
else
rech_dicho:=false;
end;

begin
remplir (t,n);
exist:=rech_dicho (t,n,e);
if exist = true then begin
write (e ,'existe dqns T');
end
else begin
write (e ,'n"existe pas dans T');
end;
end.
0
Mizeuh > chetouani
4 févr. 2010 à 22:16
Svp Aidez Moi j vx un programme En Java qui suprime les elemnt double dans un tableau par exemple
on a un tableau : 22233455677
le 2eme tableau va aficher 234567 svp aidez moi
0
voila, c la réponse de votre question:
program recherche_dichotomique;
uses wincrt;
type vect=array [1..50] of integer;
var n,e,i:integer;
t:vect;
exist:boolean;
procedure remplir (var t:vect;var n:integer);
var i:integer;
begin
repeat
write ('taper un entier:'); readln (n);
until n in [1..50];
write ('t[',1,']='); readln (t[1]);
for i:=2 to n do
begin
repeat
write ('t[',i,']='); readln(t[i]);
until t[i]>=t[i-1];
end;
write ('donner e:'); readln (e);
end;
function rech_dicho (var t:vect; var n,i:integer):boolean;
var trouve:boolean;
m,debut,fin:integer;
begin
debut := 1;
fin:=n;
trouve:=false;
repeat
m:=(debut+fin)div 2;
if t [m]= e then begin
trouve:= true;
end
else if t[m]<e then begin
debut:= m+1;
end
else begin
fin:=m-1;
end;
until (trouve=true) or (debut>fin);
rech_dicho:=trouve; {sinon l'élément sera toujours existant dans le tableau}
end;
begin
remplir (t,n);
exist:=rech_dicho (t,n,e);
if exist = true then
writeln (e,' existe dqns T')
else
writeln (e,' n''existe pas dans T');
end.
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
6 mai 2008 à 01:47
Google t'aurait directement donné :
https://fr.wikipedia.org/wiki/Dichotomie

Bonne chance
0
salut je cherche la solutions d'une fonctions de recherche dichotimique dans un tableau trié
merci pour vous
0