//第3回 課題1
#include <stdio.h>
#include <stdlib.h>
//この関数を実装する
int binary_search(int a[],int n,int x){
//この関数の内側だけを書く
int ret=-1;//見つからなかったときは-1のまま。
int i,lef=0,mid,rig=n-1;
while(lef<=rig)//左側の文字のほうが大きいという前提条件が成り立つ間のみ
{
mid=(lef+rig)/2;
if(a[mid]==x)ret=mid;
break;
}
if(x<a[mid])rig=mid-1;
else lef=mid+1;
return ret;
}
int main(void) {
int n,x,i;
int *a;
int ans = -1;
a
= (int*)malloc(sizeof(int)*n
); if(a==NULL){
return -1;
}
for(i=0;i<n;i++){
}
ans = binary_search(a,n,x);
if(ans
!= -1) printf("a[%d] = %d\n",ans
,a
[ans
]); return 0;
}
Ly/nrKwz5ZueIOiqsumhjO+8kQojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKLy/jgZPjga7plqLmlbDjgpLlrp/oo4XjgZnjgosKaW50IGJpbmFyeV9zZWFyY2goaW50IGFbXSxpbnQgbixpbnQgeCl7Ci8v44GT44Gu6Zai5pWw44Gu5YaF5YG044Gg44GR44KS5pu444GPCmludCByZXQ9LTE7Ly/opovjgaTjgYvjgonjgarjgYvjgaPjgZ/jgajjgY3jga8tMeOBruOBvuOBvuOAggppbnQgaSxsZWY9MCxtaWQscmlnPW4tMTsKd2hpbGUobGVmPD1yaWcpLy/lt6blgbTjga7mloflrZfjga7jgbvjgYbjgYzlpKfjgY3jgYTjgajjgYTjgYbliY3mj5DmnaHku7bjgYzmiJDjgornq4vjgaTplpPjga7jgb8KewogICAgbWlkPShsZWYrcmlnKS8yOwppZihhW21pZF09PXgpcmV0PW1pZDsKICAgIGJyZWFrOwp9CmlmKHg8YVttaWRdKXJpZz1taWQtMTsKZWxzZSBsZWY9bWlkKzE7CgpyZXR1cm4gcmV0Owp9CgoKCmludCBtYWluKHZvaWQpIHsKCWludCBuLHgsaTsKCWludCAqYTsKCWludCBhbnMgPSAtMTsKCXNjYW5mKCIlZCAlZCIsJm4sJngpOwoJYSA9IChpbnQqKW1hbGxvYyhzaXplb2YoaW50KSpuKTsKCWlmKGE9PU5VTEwpewoJCXByaW50ZigiRVJST1JcbiIpOwoJCXJldHVybiAtMTsKCX0KCWZvcihpPTA7aTxuO2krKyl7CgkJc2NhbmYoIiVkIiwmYVtpXSk7Cgl9CglhbnMgPSBiaW5hcnlfc2VhcmNoKGEsbix4KTsKCWlmKGFucyAhPSAtMSkgcHJpbnRmKCJhWyVkXSA9ICVkXG4iLGFucyxhW2Fuc10pOwoJZWxzZSBwcmludGYoIm5vdCBmb3VuZFxuIik7CglmcmVlKGEpOwoJcmV0dXJuIDA7Cn0K