diff options
Diffstat (limited to 'tests/upload/binary_search2.sy')
| -rw-r--r-- | tests/upload/binary_search2.sy | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/upload/binary_search2.sy b/tests/upload/binary_search2.sy new file mode 100644 index 0000000..9134622 --- /dev/null +++ b/tests/upload/binary_search2.sy @@ -0,0 +1,30 @@ +int fun(int arr[], int start, int end, int val) +{ + int mid; + mid = (start + end) / 2; + + if (arr[mid] == val) + return mid; + if (start < end) + { + if (arr[mid] > val) + return fun(arr, start, mid, val); + else + return fun(arr, mid + 1, end, val); + } + else + return -1; +} +int main() +{ + int arr[10]; + int val; + int left; + int right; + int i = 0; + right = getarray(arr); + right = right - 1; + val=getint(); + putint(fun(arr, 0, right, val)); + return 0; +} |
