aboutsummaryrefslogtreecommitdiff
path: root/tests/upload/binary_search2.sy
diff options
context:
space:
mode:
Diffstat (limited to 'tests/upload/binary_search2.sy')
-rw-r--r--tests/upload/binary_search2.sy30
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;
+}