#include<stdio.h>
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.100) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>100);
return n; }
void lire_tab(int T[],int n)
{
int i;
for(i=1;i<=n;i++)
{ printf("T[%d]=",i);
scanf("%d",&T[i]); }
}
void tri_bulle(int T[],int n)
{
int i,k;
float ech;
do{
k=0;
for (i=1;i<n;i++)
{
if (T[i]>T[i+1])
{ ech=T[i];
T[i]=T[i+1];
T[i+1]=ech;
k=1;
}}}
while(k!=0);
}
int recherche_dicho(int T[],int n, int val)
{
int D=n;
int G=1,M;
int x=0;
while (D>G && x==0)
{
M=(D+G)/2;
if (T[M]==val)
x=1;
else if (T[M]>val)
D=M-1;
else
G=M+1;
}
if (x==0)
return -1;
else
return M;
}
main()
{
int T[100];
int n,val;
n=lire(n);
lire_tab(T,n);
tri_bulle(T,n);
printf(" Entrer la valeur a rechercher");
scanf("%d",&val);
if (recherche_dicho(T,n,val)==-1)
printf(" la valeur n'existe pas \n");
else
printf(" la valeur se trouve a la position %d \n",recherche_dicho(T,n,val));
system("Pause");
return 0;
}
#include<stdlib.h>
int lire(int n)
{
do
{
printf("donner la taille du tableau (max.100) : ");
scanf("%d",&n);
printf("\n");
}
while(n<1 || n>100);
return n; }
void lire_tab(int T[],int n)
{
int i;
for(i=1;i<=n;i++)
{ printf("T[%d]=",i);
scanf("%d",&T[i]); }
}
void tri_bulle(int T[],int n)
{
int i,k;
float ech;
do{
k=0;
for (i=1;i<n;i++)
{
if (T[i]>T[i+1])
{ ech=T[i];
T[i]=T[i+1];
T[i+1]=ech;
k=1;
}}}
while(k!=0);
}
int recherche_dicho(int T[],int n, int val)
{
int D=n;
int G=1,M;
int x=0;
while (D>G && x==0)
{
M=(D+G)/2;
if (T[M]==val)
x=1;
else if (T[M]>val)
D=M-1;
else
G=M+1;
}
if (x==0)
return -1;
else
return M;
}
main()
{
int T[100];
int n,val;
n=lire(n);
lire_tab(T,n);
tri_bulle(T,n);
printf(" Entrer la valeur a rechercher");
scanf("%d",&val);
if (recherche_dicho(T,n,val)==-1)
printf(" la valeur n'existe pas \n");
else
printf(" la valeur se trouve a la position %d \n",recherche_dicho(T,n,val));
system("Pause");
return 0;
}