Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Description Evaluating Mathematical Epressions : due 2 0 2 4 / 1 / 1 Mon ( at 1 1 : 5 9 pm ) A
Description Evaluating Mathematical Epressions : due Mon at :pm A Mathematical epression is something like the following sin log in which there is a mixture of arithmetic expression, trigonometric, and logarithmic functions. Here is a list of those functions. Basic arithmetic operators: along with the unary negation operator ie Unary scientific functions: sin cos tan log sqrt Binary scientific functions: logba and You should use the corresponding math functions in to implement them. Remarks Unary negation : note that must be interpreted as instead of The unary operator acts on any double and turns its value negative. log stands for natural logarithm, ie with base e logba is ordanry logarithm with base b Use the log function in to implement logba as logalogb sqrt is square root. stands for raising to the third power, which is equal to Note that, according to our syntax, the curly braces are only used in logarithms subscript logba and power's superscript The operators' priorities are listed as follows. You do not need to check for invalid expressions like or invalid operations such as sqrt priority operators lowest medium unary high highest sin cos tan log log sqrt If two operators have the same priority, they should be evaluated in from left to right. Write a class Expression that holds the value of a Mathematical epression and it has at least two member functions input and eval in which the latter evaluates the expression. You may add members you like, as long as you keep all data members private or protected. We strongly suggest you use the getline function to read the whole expression as a stringobject remember to include Do not use cin str; as it will stop on whitespaces. Use getlinecin str; instead to read the whole line in which str is a string object The main function is given as follows. Do not change main otherwise you may lose penalty points. int main DO NOT CHANGE MAIN!! Expression exp; expinput; expeval; expoutput; return ; Try to explore the power of C and make your program as flexible as possible, ie if new functions like sinh or tanh are added in the future, you do not need to modify too much of your work to support them. Hint You may need to use two stacks to do this assignment. One for storing the operands, and the other for storing the operators. You can use the standard library templates to do that. Include to use their templates. You also need to include and libraries. Grading & Submission Same as Assignment # correctness and style. Submit your sourcecode with detailed comments on both OJ and eLearn. Input sin log Output Input sqrttan Output
Description
Evaluating Mathematical Epressions : due Mon at :pm
A Mathematical epression is something like the following sin log in which there is a mixture of arithmetic expression, trigonometric, and logarithmic functions. Here is a list of those functions.
Basic arithmetic operators: along with the unary negation operator ie
Unary scientific functions: sin cos tan log sqrt
Binary scientific functions: logba and You should use the corresponding math functions in to implement them.
Remarks
Unary negation : note that must be interpreted as instead of The unary operator acts on any double and turns its value negative.
log stands for natural logarithm, ie with base e
logba is ordanry logarithm with base b Use the log function in to implement logba as logalogb
sqrt is square root.
stands for raising to the third power, which is equal to
Note that, according to our syntax, the curly braces are only used in logarithms subscript logba and power's superscript
The operators' priorities are listed as follows.
You do not need to check for invalid expressions like or invalid operations such as sqrt
priority operators
lowest
medium unary
high
highest sin cos tan log log sqrt
If two operators have the same priority, they should be evaluated in from left to right.
Write a class Expression that holds the value of a Mathematical epression and it has at least two member functions input and eval in which the latter evaluates the expression. You may add members you like, as long as you keep all data members private or protected. We strongly suggest you use the getline function to read the whole expression as a stringobject remember to include Do not use cin str; as it will stop on whitespaces. Use getlinecin str; instead to read the whole line in which str is a string object The main function is given as follows. Do not change main otherwise you may lose penalty points.
int main DO NOT CHANGE MAIN!!
Expression exp;
expinput;
expeval;
expoutput;
return ;
Try to explore the power of C and make your program as flexible as possible, ie if new functions like sinh or tanh are added in the future, you do not need to modify too much of your work to support them.
Hint
You may need to use two stacks to do this assignment. One for storing the operands, and the other for storing the operators. You can use the standard library templates to do that. Include to use their templates. You also need to include and libraries.
Grading & Submission
Same as Assignment # correctness and style. Submit your sourcecode with detailed comments on both OJ and eLearn.
Input
sin log
Output
Input
sqrttan
Output
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started