Gate CS-2013 Question Paper With Solutions

Q. 51 The procedure given below is required to find and replace certain characters inside an input character string supplied in array A. The characters to be replaced are supplied in array oldc, while their respective replacement characters are supplied in array newc. Array A has a fixed length of five characters, while arrays oldc and newc contain three characters each. However, the procedure is flawed

void find_and_replace(char *A, char *oldc, char *newc) {
    for (int i = 0; i < 5; i++)
       for (int j = 0; j < 3; j++)
           if (A[i] == oldc[j]) A[i] = newc[j];
}

The procedure is tested with the following four test cases
(1) oldc = “abc”, newc = “dab”
(2) oldc = “cde”, newc = “bcd”
(3) oldc = “bca”, newc = “cda”
(4) oldc = “abc”, newc = “bac”

If array A is made to hold the string “abcde”, which of the above four sest cases
will be successful in exposing the flaw in this procedure?

(A) None

(B) 2 only

(C) 3 and 4 only

Learn More:   Gate EC-2007 Question Paper With Solutions

(D) 4 only

Answer: (C)

Gate CS-2013 Question Paper With Solutions

Gate CS-2013 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here