C++ Problem Recursion 8)Consider the following recursive function: void funcRec(int u, char v) { if (u == 0) cout << v; else if (u == 1) cout << static_cast (static_cast(v) + 1 ); else funcRec(u - 1, v); } Answer the following questions: a.Identify the base case. Explain why b. Identify the general case. Explain why c. What is the output of the following statement? funcRec(5, 'A');
C++ Problem Recursion
8)Consider the following recursive function:
void funcRec(int u, char v)
{
if (u == 0)
cout << v;
else if (u == 1)
cout << static_cast<char>
(static_cast<int>(v) + 1
);
else
funcRec(u - 1, v);
}
Answer the following questions:
a.Identify the base case. Explain why
b. Identify the general case. Explain why
c. What is the output of the following statement? funcRec(5, 'A');
Answer-a.
Base case in recursive function-In base case solution is directly calculated.
void funcRec(int u, char v) //Line 1
{
if (u == 0) //Line 2 Base case
cout << v; //Line 3
else //Line 4
{ //Line 5
char w; //Line 6
w = static_cast <char> //Line 7
(static_cast<int>(v) + 1);
funcRec(u - 1, w); //Line 8
} //Line 9
} //Line 10
When u=0 it executes if part and it directly give value of v. Therefore Line 2 if (u == 0) is base case because if (u == 0) it gives output.
Answer-b.General case-In general case value smaller values are calculate of the function .
void funcRec(int u, char v) //Line 1
{
if (u == 0) //Line 2
cout << v; //Line 3
else //Line 4
{ //Line 5
char w; //Line 6
w = static_cast <char> //Line 7
(static_cast<int>(v) + 1);
funcRec(u - 1, w); //Line 8 general case
} //Line 9
} //Line 10
Function funcRec(u - 1, w); calls itself and value of u is decrementd by 1 in every call. Therefore Line 8
funcRec(u - 1, w); is general case.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images