
Concept explainers
Recursive method:
- A method calls itself is as recursive method.
- In recursive function base case will stop recursion and return value instead of calling function.
Program to implement:
- a. Recursive functions for John Napier’s Method to print logarithms.
- b. Modified recursive function to find logarithm of a specific number between “100” and “1000”.
- c. Function to call above function to find logarithm of a number not between “100” and “1000”.
Explanation of Solution
//b. Modified recursive function to find logarithm of a number between 100 and 1000:
//Recursive function to find logarithms of a number between 100 and 1000
void logarithmOf(double first, double second, double firstLog, double secondLog,double num)
{
//If difference between adjacent numbers is greater than tolerance
if (fabs(first - second) > tolerance)
//If number is less than square root of (first*second)
if (num < sqrt(first*second))
//Function calls itself recursively with parameters first,sqrt(first*second),firstLog,(firstLog+secondLog)/2 and num
logarithmOf(first,sqrt(first*second),firstLog,(firstLog+secondLog)/2,num);
//If number is greater than or equal to square root of (first*second)
else
//Function calls itself recursively with parameters sqrt(first*second),second,(firstLog+secondLog)/2,secondLog and num
logarithmOf(sqrt(first*second),second,(firstLog+secondLog)/2,secondLog,num);
//If difference between adjacent numbers is less than or equal to tolerance
else
//Print logarithm of number
cout << "log(" << num << ") = " << firstLog <�...
Explanation of Solution
//c. Function to call modified function to find logarithm of a number not between 100 and 1000:
//Function to find logarithm of number does not between 100 and 1000
void newlogarithm(double first, double second, double firstLog, double secondLog,double num)
{
//If number is less than 10^2 and greater than 10^3
if (num < pow(10.0,2) || num > pow(10.0,3))
//Call function logarithmOf()
logarithmOf(first, second, firstLog, secondLog,num);
//If number is between 100 and 1000
else
//Print error message
cout<<"Input is invalid"<<endl;
}
//Program begins with main() function
int main()
{
//Declare variable
int num;
//Call recursive function logarithm()
cout<<"Result of function logarithm(): "<<endl;
logarithm(2,6,0.3010,0.778);
//Prompt and read number from user
cout<<"Enter number between 100 and 1000: "<<endl;
cin>>num;
//If number is between 100 and 1000
if(num>100 && num<1000...

Want to see the full answer?
Check out a sample textbook solution
Chapter 5 Solutions
EBK DATA STRUCTURES AND ALGORITHMS IN C
- For this question you will perform two levels of quicksort on an array containing these numbers: 59 41 61 73 43 57 50 13 96 88 42 77 27 95 32 89 In the first blank, enter the array contents after the top level partition. In the second blank, enter the array contents after one more partition of the left-hand subarray resulting from the first partition. In the third blank, enter the array contents after one more partition of the right-hand subarray resulting from the first partition. Print the numbers with a single space between them. Use the algorithm we covered in class, in which the first element of the subarray is the partition value. Question 1 options: Blank # 1 Blank # 2 Blank # 3arrow_forward1. Transform the E-R diagram into a set of relations. Country_of Agent ID Agent H Holds Is_Reponsible_for Consignment Number $ Value May Contain Consignment Transports Container Destination Ф R Goes Off Container Number Size Vessel Voyage Registry Vessel ID Voyage_ID Tonnagearrow_forwardI want to solve 13.2 using matlab please helparrow_forward
- a) Show a possible trace of the OSPF algorithm for computing the routing table in Router 2 forthis network.b) Show the messages used by RIP to compute routing tables.arrow_forwardusing r language to answer question 4 Question 4: Obtain a 95% standard normal bootstrap confidence interval, a 95% basic bootstrap confidence interval, and a percentile confidence interval for the ρb12 in Question 3.arrow_forwardusing r language to answer question 4. Question 4: Obtain a 95% standard normal bootstrap confidence interval, a 95% basic bootstrap confidence interval, and a percentile confidence interval for the ρb12 in Question 3.arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrSystems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT




