diff options
Diffstat (limited to 'tests/functional/86_bin_search.sy')
| -rw-r--r-- | tests/functional/86_bin_search.sy | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/functional/86_bin_search.sy b/tests/functional/86_bin_search.sy new file mode 100644 index 0000000..ce86475 --- /dev/null +++ b/tests/functional/86_bin_search.sy @@ -0,0 +1,51 @@ + +int main() +{ + //newline=10; + int i; + int sum; + int a[10]; + sum=0; + //m = 1478; + //int t; + i=0; + while(i<10) + { + a[i]=i+1; + i=i+1; + } + int x; + int high; + int low; + int mid; + int n; + n=10; + x=getint(); + high=n-1; + low=0; + mid=(high+low)/2; + while(a[mid]!=x && low < high) + { + mid=(high+low)/2; + if(x<a[mid]) + high=mid-1; + else + { + low = mid +1; + } + + } + + if(x==a[mid]) + putint(x); + else + { + x = 0; + putint(x); + } + + x = 10; + putch(x); + + return 0; +} |
