Pages

dimanche 15 janvier 2012

recherche dicotomie




#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

Partager

Twitter Delicious Facebook Digg Stumbleupon Favorites More