Sửa rồi nè:
#include<stdio.h>
#include<conio.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("phan tu ");
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for(int i=0;i<n;i++)
printf("%5d",a[i]);
}
void linearsearch(int a[],int n,int x)
{
int i=0;
while(i<n && a[i]!=x) i++;
if(i==n)
printf("\n\t Khong tim thay x");
else
printf("\n\t Tim thay tai vi tri %d",i+1);
}
int Birary(int a[],int n,int x)
{
int left=0,right=n,mid;
while(left<=right)
{
mid=(left+right)/2;
if(x==a[mid])
return mid;
if(x<a[mid])
right=mid-1;
else
left=mid-1;
}
return -1;
}
void main()
{
int x,n,a[100],c;
char ch;
do
{
clrscr();
printf("\nmoi ban nhap so ");
scanf("%d",&n);
nhap(a,n);
xuat(a,n);
printf("\n\t 1: Linearsearch");
printf("\n\t 2: Birary");
printf("\n\t Chon chuc nang: ");
scanf("%d",&c);
switch(c)
{
case 1:
{
printf("\n\t Nhap so can tim: ");
scanf("%d",&x);
linearsearch(a,n,x);
break;
}
case 2:
{
printf("\n\t Nhap so can tim: ");
scanf("%d",&x);
if(Birary(a,n,x)!=-1)
printf("\n\t mid=%d",Birary(a,n,x));
else
printf("\n\t Khong co");
break;
}
}
printf("\n\t Ban co muon quay lai (y/n)");
ch=getch();
}while(ch=='y'||ch=='Y');
getch();
}