The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+18 votes
1.6k views

Consider the following $C$ function definition

int Trial (int a, int b, int c)
{
    if ((a>=b) && (c<b) return b;
    else if (a>=b) return Trial(a, c, b);
    else return Trial(b, a, c);
}

The functional Trial:

  1. Finds the maximum of $a$, $b$, and $c$

  2. Finds the minimum of $a$, $b$, and $c$

  3. Finds the middle number of $a$, $b$, $c$

  4. None of the above

 

asked in Algorithms by Veteran (69k points)
edited by | 1.6k views
if ((a>=b) && (c<b))

missing in question.

2 Answers

+35 votes
Best answer
$a$ $b$ $c$ Return
1 1 1 The final return statement is $c < b$, so this never returns. Answer D

 

answered by Veteran (346k points)
edited by
but sir there is no middle element in 111, so it wont find. what about other cases?
@Aspi this condition must also be handled by the program to guarentee that it returns a middle element for any three inputs.
it is going to infinite loop here.
+4 votes
Trial (a,b,c) return the median element of the a , b and c , but not middle element of a , b and c ,, so answer is (D)
answered by Boss (5.9k points)
reshown by
For 3 values on sorting them its hould be middle value, but for same input a=b=c its falling into infinite loop
How it is returning median value can you justify using options?


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

33,687 questions
40,230 answers
114,268 comments
38,791 users