Consider the following recursive function: void funcRec(int u, char v) //Line 1
ID: 3586421 • Letter: C
Question
Consider the following recursive function:
void funcRec(int u, char v) //Line 1
{ //Line 2
if (u == 0) //Line 3
cout << v; //Line 4
else if (u == 1) //Line 5
cout << static_cast<char>
(static_cast<int>(v) + 1); //Line 6
else //Line 7
funcRec(u - 1, v); //Line 8
} //Line 9
Answer the following questions:
a. Identify the base case.
b. Identify the general case.
c. What is the output of the following statement?
funcRec(5, "A");
Explanation / Answer
(a) Base case is the case for which the soluIon can be stated withpout the help of recursion.
In this code there are two such cases; 1. if (u == 0) and 2. else if (u == 1)
For these two cases we can compute the values of v and v+1 respectively.
(b) General case or recursive case is the case for which the soluIon is expressed in terms of a smaller version of itself.
In this code the recursive case is the.
else funcRec(u - 1, v);
(c) Output of funcRec(5, "A") :
Step 1 : goes to funcRec(5, "A")
Step 2: goes to funcRec(4, "A")
Step 3: goes to funcRec(3,"A")
Step 4: goes to funcRec(2,"A")
Step 5: goes to else if (u == 1) and outputs B (v+1 i.e., A+1,B)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.