/** ************************************************* Skrá: T203Sd4_3.cs Höfundur: Ragnar Geir Brynjólfsson. Dagsetning: 02.06.2005. Sýnidæmi um útfærslu mengis. ************************************************* */ using System; using System.Collections; class MyStringSet : ArrayList { public MyStringSet():base() { } public void union (MyStringSet m) { foreach(Object s in m) this.myadd(s); } public MyStringSet intersect(MyStringSet m) { MyStringSet temp = new MyStringSet(); foreach(Object s in m) if(this.contains(s)) temp.myadd(s); return temp; } public void subtract(MyStringSet m) { foreach(Object s in m) this.myremove(s); } public void myadd(Object s) { if (!this.Contains(s)) base.Add(s); } public void myremove(Object s) { base.Remove(s); } public bool contains(Object s) { return base.Contains(s); } public int size() { return base.Count; } public bool isEmpty(){ return this.size()==0; } public override String ToString() { String utstr="[ "; foreach(Object s in this) utstr+=s.ToString() +" "; utstr+="]"; return utstr; } } class T203Sd4_3 { static void Main() { MyStringSet Sundlaug = new MyStringSet(); MyStringSet Heiti_p = new MyStringSet(); Sundlaug.myadd("Anna"); Sundlaug.myadd("Jói"); Heiti_p.myadd("Sigga"); Heiti_p.myadd("Kalli"); Console.WriteLine("Í lauginni: "+Sundlaug.ToString()); Console.WriteLine("Í heita pottinum: "+Heiti_p); Sundlaug.union(Heiti_p); Console.WriteLine("Í potti og laug eru: " + Sundlaug.ToString()); Sundlaug.subtract(Heiti_p); Console.WriteLine("Laugin ein: " + Sundlaug.ToString()); Sundlaug.myadd("Sigga"); Console.WriteLine("Sigga teygir fingur í laug og tá í pott:"); Console.WriteLine("Þá eru þessi í lauginni: " + Sundlaug.ToString()); MyStringSet snid = Sundlaug.intersect(Heiti_p); Console.WriteLine("Bæði í potti og laug: " + snid.ToString()); Sundlaug.myadd("Hannes"); Console.WriteLine("Hannes kemur í laugina: " + Sundlaug.ToString()); } }