1 introductionyou will create a c program to


1 Introduction

You will create a C++ program to evaluate expressions combining set union, set intersection and parentheses. The program must exploit a stack to convert the matrix expressions from inx notation to postx notation and a second stack to evaluate the postx expression.

In order to maintain similar notation to arithmetic expressions, + will denote union and * will be intersection. You will evaluate expressions like A * B +C, (A + B)  (D +E  F) or A  B +(C * D), where A, B, C and D are sets.

We will dene the operation " + " of two sets A and B as the union of the contents of both sets:

                                                  A + B ≡ A U B                          (1)

Similarly, we will dene the operation " * " of A and B as the intersection of A and B:

                                                  A * B ≡ A ∩ B                          (2)

These denitions allow us to write long algebraic equations. We assign to the " + " a lower precedence than " * " (in the same way as we do in algebra) and parentheses change the precedence of an expression.

2 Input

The input is one script le, in the same format as the script le from previous homeworks, and two or more data les containing words. All operations supported in the previous homework (read(), write()) will still be supported. You will need to extend the script parser in order to accept expressions such as

                                                                      R0=(A+B)*C

There will be one expression per line, and there might be multiple expressions in each script le. You are expected to be able to reuse the results from previous expressions.

Solution Preview :

Prepared by a verified Expert
Data Structure & Algorithms: 1 introductionyou will create a c program to
Reference No:- TGS0443411

Now Priced at $20 (50% Discount)

Recommended (99%)

Rated (4.3/5)