Gate CS-2008 Question Paper With Solutions

Q. 16 Consider the following C program that attempts to locate an element x in an array Y [ ]
using binary search. The program is erroneous.

1. f(intY[10],intx){
2. inti,j,k;
3. i=0;j=9;
4. do {
5. k=(i+j)/2
6. if (Y[K]<x)i=k;elsej=k;
7. } while ((Y[k]!=x)&&(i<j)),
8. if (Y[k]==x) print f(“x is in the array”);
9. else printf(“x is not in the array”);
10. }

On which of the following contents of Y and x does the program fail?

(A) Y is [1 2 3 4 5 6 7 8 9 10] and x < 10

(B) Y is [1 3 5 7 9 11 13 15 17 19] and x < 1

(C) Y is [2 2 2 2 2 2 2 2 2 2] and x > 2

(D) Y is [2 4 6 8 10 12 14 16 18 20] and 2 < x < 20 and x is even

Answer: (C)

Explanation:

Gate CS-2008 Question Paper With Solutions

Learn More:   Gate EE-2006 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here