Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ program In the mathematical theory of sets, a set is defined as a collection of distinct items of the same type. In some programming

C++ program

In the mathematical theory of sets, a set is defined as a collection of distinct items of the same type. In some programming languages, sets are built-in data types; unfortunately, this is not the case in C++. However, we can simulate a set using a one-dimensional array.

Some operations can be performed on sets. We will consider three(3) of them: union, intersection and difference. These are binary operations requiring two sets as operands. The union of two sets, A and B, is a set that contains all elements in both A and B. The intersection of two sets, A and B, is a set that contains elements common to both A and B. The difference of two sets, A and B, is a set that contains only the elements in A but not in B and excluding the common elements in A and B.

For example, if A and B are two sets of integers defined as A = {5, 7, 8, 10} and B = {3, 9, 10}, then their union is the set {3, 5, 7, 8, 9, 10}, their intersection is the set {10}, their difference of A and B ( A - B) is the set {5, 7, 8}.

Write a program that computes the union, intersection, and difference of two sets stored in two one-dimensional arrays. Populate the arrays from the following input files:

inputA.dat

0 1 -3 5 -11 6 8 9 11 17 15 7 4 12

inputB.dat

0 -1 3 7 -6 16 5 11 12 4 21 13

The output should be displayed on screen and in an output file. Prompt user for file names. No duplicates are allowed in union, intersection or difference.

The following functions must be used:

void readfile_array(ifstream& a, ifstream& b, int arraya[], int& asize, int arrayb[], int& bsize);

void printarray(int array[], int size, ofstream& o);

int diff (int a[], int b[], int dif[], int asize, int bsize);

int duplicates (int array[], int d[], int size);

int intersection (int a[], int b[], int asize, int bsize, int inter[]);

int arrayunion (int a[], int b[], int asize, int bsize, int aunions[]);

void sort (int array[], int n);

SAMPLE OUTPUT:

Enter filenames=>inputA.dat

inputB.dat

out.dat

Array Elements in File A

0 1 -3 5 -11 6 8 9 11 17 15 7 4 12

Array Elements in File B

0 -1 3 7 -6 16 5 11 12 4 21 13

Sorted ArrayA

-11 -3 0 1 4 5 6 7 8 9 11 12 15 17

Sorted ArrayB

-6 -1 0 3 4 5 7 11 12 13 16 21

Difference from ArrayA and ArrayB

-11 -3 1 6 8 9 15 17

Number of elements in intersection = 6

0 4 5 7 11 12

Number of elements in union = 26

-6 -1 0 3 4 5 7 11 12 13 16 21 -11 -3 0 1 4 5 6 7 8 9 11 12 15 17

Sorted intersection

0 4 5 7 11 12

Sorted union

-11 -6 -3 -1 0 0 1 3 4 4 5 5 6 7 7 8 9 11 11 12 12 13 15 16 17 21

The Intersection of A and B (no duplicates)

0 4 5 7 11 12

The Union of A and B(no duplicates)

-11 -6 -3 -1 0 1 3 4 5 6 7 8 9 11 12 13 15 16 17 21

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Inductive Databases And Constraint Based Data Mining

Authors: Saso Dzeroski ,Bart Goethals ,Pance Panov

2010th Edition

1489982175, 978-1489982179

More Books

Students also viewed these Databases questions

Question

how would you have done things differently?

Answered: 1 week ago

Question

3. What information do participants need?

Answered: 1 week ago