Question 2. a. Let the function fun be defined as int fun(int *k) { *k += 4; return 3 * (*k) - 1; Suppose fun is used in a program as follows: void main(){ int i 10, j = 10, suml, sum2; suml = (i / 2) + fun (&i); sum2 = fun (&j) + (j / 2); What are the values of sum1 and sum2 in the following two cases?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 1TF
icon
Related questions
Question
Computer Science
( Only third question )
Question 2.
a. Let the function fun be defined as
int fun(int *k) {
*k += 4;
return 3 * (*k) - 1;
Suppose fun is used in a program as follows:
void main(O{
int i = 10, j = 10, suml, sum2;
suml = (i / 2) + fun (&i);
sum2 = fun (&j) + (j / 2);
}
What are the values of sum1 and sum2 in the following two cases?
1) If the operands in the expression are evaluated
left to right
2) If the operands in the expression are evaluated
right to left
sum1 = (inew / 2) + fun(&iold)
= 14 / 2 + (3 * (10 + 4) 1)
sum1 = (iold / 2) + fun(&iold)
= (10 / 2) + (3 * (10 + 4) 1)
= 5+ 41
= 46
sum2 = fun(&jold) + (įnew / 2)
= (3 * (10 + 4) – 1) + (14 / 2)
= 7+41
= 48
sum2 = fun(&jold) + (jold / 2)
= (3 * (10 + 4) – 1) + (10 / 2)
= 41 +7
= 41 +5
= 48
= 46
Question 3:
Rewrite the program in Question 2 part a in Java and C#, run them, and compare the
results.
Transcribed Image Text:Computer Science ( Only third question ) Question 2. a. Let the function fun be defined as int fun(int *k) { *k += 4; return 3 * (*k) - 1; Suppose fun is used in a program as follows: void main(O{ int i = 10, j = 10, suml, sum2; suml = (i / 2) + fun (&i); sum2 = fun (&j) + (j / 2); } What are the values of sum1 and sum2 in the following two cases? 1) If the operands in the expression are evaluated left to right 2) If the operands in the expression are evaluated right to left sum1 = (inew / 2) + fun(&iold) = 14 / 2 + (3 * (10 + 4) 1) sum1 = (iold / 2) + fun(&iold) = (10 / 2) + (3 * (10 + 4) 1) = 5+ 41 = 46 sum2 = fun(&jold) + (įnew / 2) = (3 * (10 + 4) – 1) + (14 / 2) = 7+41 = 48 sum2 = fun(&jold) + (jold / 2) = (3 * (10 + 4) – 1) + (10 / 2) = 41 +7 = 41 +5 = 48 = 46 Question 3: Rewrite the program in Question 2 part a in Java and C#, run them, and compare the results.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Computational Systems
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning