#include<stdio.h>
#include<conio.h>
# define MAX 100
bool RecehrcheDEco(int T[MAX],int *deb,int *fin,int val,int *pos)
{
if(fin<deb) return 0;
else if(val==T[(*fin+*deb)/2]){
*pos =(*fin-*deb)/2;
return 1;
}
else if(val<T[(*fin+*deb)/2]){
*deb=((*deb+*fin)/2-1);
return RecehrcheDEco(T,deb,fin,val,pos);
}
else {
*fin=((*deb+*fin)/2+1);
return RecehrcheDEco(T,deb,fin,val,pos);
}
}
main(){
int T[MAX];
int deb,fin,pos,val,i,n;
printf("\n Entrée le nbres d'element : ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("\n entrer le %d ieme elements de Tableau",i);
scanf("%d",&T[i]);
}
printf("\n donner la valeur a rechercher : ");
scanf("%d",&val);
deb=0;
fin=n-1;
if(RecehrcheDEco(T[100],&deb,&fin,val,&pos) == 1){
printf("\n l'element se treouve a la position %i",&pos);
else
printf("\n l'elements n'existe pas dans les Tableau");
}
getch();
}
0 commentaires:
Enregistrer un commentaire