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
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme