In: Computer Science
C#
Create class IntegerSet. Each IntegerSet object can hold integers in the range 0-100 inclusively. The set is represented by an array of bools. Array element a[i] is true if integer i is in the set. Array element a[j] is false if integer j is not in the set. The parameterless constructor initializes the array to the empty set (all false). Provide the following methods:
Method Union creates a third set that the set-theoretic union of two existing sets. ie. if an element is in either set, it will be in the new set.
Write a console app to test your IntegerSet class. Instantiate several IntegerSet objects and ensure the above functions work correctly
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Set
{
private bool[]
setArr=new bool[101];
public Set()
{
for(int i=0;i<101;i++)
{
setArr[i]=false;
}
}
public bool
getElement(int element)
{
if(element>=0&&element<=100)
{
return setArr[element];
}
return false;
}
public Set
intersection(Set s2)
{
Set s3=new Set();
for(int i=0;i<=100;i++)
{
if(this.getElement(i)==true&&s2.getElement(i)==true)
{
s3.insertElement(i);
}
}
return s3;
}
public bool
insertElement(int element)
{
if(element>=0&&element<=100)
{
setArr[element]=true;
return true;
}
return false;
}
public bool
deleteElement(int element)
{
if(element>=0&&element<=100)
{
setArr[element]=false;
return true;
}
return false;
}
public string
toString()
{
string setStr="{ ";
for(int i=0;i<101;i++)
{
if(setArr[i]==true)
{
setStr+=i.ToString()+" ";
}
}
setStr+="}";
return setStr;
}
}
public class Program
{
public static void
Main(string[] args)
{
//Your code goes here
Set s1=new Set();
Set s2=new Set();
s1.insertElement(10);
s1.insertElement(20);
s1.insertElement(17);
s1.insertElement(2);
Console.WriteLine("Set-1: "+s1.toString());
s2.insertElement(100);
s2.insertElement(20);
s2.insertElement(27);
s2.insertElement(21);
s2.insertElement(2);
Console.WriteLine("Set-2: "+s2.toString());
Set s3=s1.intersection(s2);
Console.WriteLine("Set-1 intersection Set-2:
"+s3.toString());
s3.deleteElement(20);
Console.WriteLine("Set-3: "+s3.toString());
}
}
}