Jan2008 GPA Code

From DojoWiki

Jump to: navigation, search
   public class MySet
   {
       //Adds sets using override of the + operator
       public static MySet operator +(MySet c1, MySet c2)
       { 
           for (int i = 0; i< c2.Length; i++) {
               if (!c1.Contains(c2[i])) c1.Add(c2[i]) ; 
           }
           return c1 ;
       }
       public bool Contains(int j)
       {
           for (int i = 0; i < this.Length; i++)
           {
               if (j == this[i]) return true;
           }
           return false;
       }
       //Adds single elements
       public void Add(int j)
       {
           int[] largerArray = new int[this.Length + 1];
           for (int i = 0; i < this.Length; i++)
           {
               largerArray[i] = this[i]; 
           }
           largerArray[largerArray.Length - 1] = j;
           _contents = largerArray; 
           _length++; 
       }
       public override bool Equals(object b)
       {
           MySet set = (MySet)b;
           for (int i = 0; i < this.Length; i++)
           {
               if (!set.Contains(this[i])) return false; 
           }
           for (int i = 0; i < set.Length; i++)
           {
               if (!this.Contains(set[i])) return false;
           }
           return true; 
       }
       private int _length;
       private int[] _contents = new int[10];
       public int Length
       {
           get { return _length; }
           set { _length = value; }
       }
       public int this[int index]
       {
           get
           {
               return _contents[index];
           }
           set
           {
               _contents[index] = value;
           }
       }
       public MySet(int[] contents)
       {
           _length = contents.Length;
           //remoteDuplicates
           _contents = contents;
       }
   }
Personal tools