//Операция Вычесть. Создаёт множество, полученное вычитанием из одного множества другого. public static SetInt operator -(SetInt a, SetInt b) { SetInt c = new SetInt(); for (int i = 0; i < a.Set.Count; i++) { if (b.Belong(a.Set[i])) { continue; } else if (!c.Belong(a.Set[i])) { c.AddTo(a.Set[i]); } } for (int i = 0; i < b.Set.Count; i++) { if (a.Belong(b.Set[i])) { continue; } else if (!c.Belong(b.Set[i])) { c.AddTo(b.Set[i]); } } return(c); }
//Операция Умножить. Создаёт множество, полученное путём пересечения двух множеств. public static SetInt operator *(SetInt a, SetInt b) { SetInt c = new SetInt(); for (int i = 0; i < a.Set.Count; i++) { for (int j = 0; j < b.Set.Count; j++) { if (a.Set[i] == b.Set[i] && !c.Belong(a.Set[i])) { c.AddTo(a.Set[i]); } } } return(c); }