PROGRAM DESCRIPTION
In this short BONUS C++ program, you will use concepts from Chapter 8. You will initially start with a fixed set of 8 disjoint sets using the integer elements 0 through 7 and support the find and union operations on the set(s), where the union operation uses the union-by-size algorithm, as described in class.
You will then add another operation called split that undoes the last union operation that has not already been undone. Although you may assume a fixed array of 8 elements for this, note that the find, union, and split operations may come in any order, even repeated split operations. You should make any necessary (but hopefully simple) changes to support this new operation.
You may assume that the user enters the proper data type, but be sure to add any needed error handling. See SAMPLE OUTPUT for details on what the output looks like.
REQUIREMENTS
Your code should be well documented in terms of comments. For example, good comments in general consist of a header (with your name, course section, date, and brief description), comments for each variable, and commented blocks of
Your program will be graded based largely on whether it works correctly on the CSE machines (e.g., cse01, cse02, …, cse06), so you should make sure that your program compiles and runs on a CSE
You should contact your instructor if there is any question about what is being asked for.
This is an individual programming assignment that must be the sole work of the individual student. Any instance of academic dishonesty will result in a grade of “F” for the course, along with a report filed into the Academic Integrity Database.
SAMPLE OUTPUT (input shown in bold):
$ ./a.out
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -1 -1 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 5
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 1
Enter 1 set #: 5
Parent of 5 is 5
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -1 -1 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 2
Enter 2 set #s: 4 5
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -2 4 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 2
Enter 2 set #s: 6 7
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -2 4 -2 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 2
Enter 2 set #s: 4 6
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -4 4 4 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 2
Enter 2 set #s: 4 3
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 4 -5 4 4 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 1
Enter 1 set #: 3
Parent of 3 is 4
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 4 -5 4 4 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 1
Enter 1 set #: 7
Parent of 7 is 4
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 4 -5 4 4 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 3
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -4 4 4 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 3
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -2 4 -2 6 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 3
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -2 4 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 3
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -1 -1 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 3
No last union operation - unable to perform operation
+-------------------------+
| 0 1 2 3 4 5 6 7 |
| -1 -1 -1 -1 -1 -1 -1 -1 |
+-------------------------+
Enter option choice 1 - 4:
Find Operation
Union-By-Size Operation
Split Operation
Exit Program
> 4
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of