Khi mình nhập số 1 chữ số và 2 chữ số ko có trong mảng thì ko cout ra ko tim thầy x đc
Cảm ơn mọi người.
#include<iostream>
using namespace std;
void inputarray(int M[],int n);
void outputarray(int M[],int n);
int binarysearch(int M[],int n,int x);
int binarysearchbyrecursion(int M[], int x,int left,int right);
int main()
{
int n;
cout<<"Nhap so luong phan tu: ";
cin>>n;
int M[n];
inputarray(M,n);
outputarray(M,n);
float x;
cout<<"\nNhap so can tim: ";
cin>>x;
int kq=binarysearch(M,n,x);
if(kq==-1)
{
cout<<"Khong tim thay "<<x;
}
else
{
cout<<"Tim thay "<<x<<" o vi tri: "<<kq;
}
return 0;
}
void inputarray(int M[],int n)
{
for(int i=0;i<n;i++)
{
cout<<"M["<<i<<"]=";
cin>>M[i];
}
}
void outputarray(int M[],int n)
{
for(int i=0;i<n;i++)
{
cout<<M[i]<<"\t";
}
}
int binarysearch(int M[],int n,int x)
{
int left=0;
int right=n-1;
int mid;
do
{
mid= (right +left)/2;
if(x==M[mid])
{
return mid; // tim thay x tai mid
}
else if(M[mid]>x)
{
right==mid-1;
}
else
{
left=mid+1;
}
}
while(left<=right);
return -1; // tim het day ma ko co x
}