/** ************************************************* 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(String s in m) this.myadd(s); } public MyStringSet intersect(MyStringSet m) { MyStringSet temp = new MyStringSet(); foreach(String s in m) if(this.contains(s)) temp.myadd(s); return temp; } public void subtract(MyStringSet m) { foreach(String s in m) this.myremove(s); } public void myadd(String s) { if (!this.Contains(s)) base.Add(s); } public void myremove(String s) { base.Remove(s); } public bool contains(String 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(String s in this) utstr+=s+" "; 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 er bæði í laug og potti:" + 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()); } }