using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace arraySet { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public int[][] Set = new int[3][]; public void 表示() { string S; listBox1.Items.Clear(); foreach (int[] A in Set) { if (A.Length == 0) S = "{}"; else { S = ""; foreach (int X in A) S += X.ToString() + ", "; S="{"+S.Substring(0,S.Length-2)+"}"; } listBox1.Items.Add(S); } } private void button1_Click(object sender, EventArgs e) { Set[0] = new int[3] { 1, 2, 3 }; Set[1] = new int[0] { }; Set[2] = new int[4] { 4, 5, 6, 7 }; 表示(); } private bool SetMember(int X, int[] S) { foreach(int A in S) if(A==X) return true; return false; } private void button2_Click(object sender, EventArgs e) { int EL = int.Parse(textBox1.Text); int ID = int.Parse(textBox2.Text); MessageBox.Show(SetMember(EL, Set[ID]).ToString()); } private int[] AddMember(int X, int[] S) { if (SetMember(X, S)) return S; int[] S2 = new int[S.Length + 1]; for (int i = 0; i < S.Length; i++) S2[i] = S[i]; S2[S.Length] = X; return S2; } private void button3_Click(object sender, EventArgs e) { int EL = int.Parse(textBox1.Text); int ID = int.Parse(textBox2.Text); Set[ID]=AddMember(EL, Set[ID]); 表示(); } private int[] DelMember(int X, int[] S) { if (!SetMember(X, S)) return S; int[] S2 = new int[S.Length - 1]; int ii = 0; for (int i = 0; i < S.Length; i++) if(S[i]!=X)S2[ii++] = S[i]; return S2; } private void button4_Click(object sender, EventArgs e) { int EL = int.Parse(textBox1.Text); int ID = int.Parse(textBox2.Text); Set[ID] = DelMember(EL, Set[ID]); 表示(); } private int[] Union(int[]S1, int[] S2) { int[] S=S1; foreach(int EL in S2) S=AddMember(EL,S); return S; } private void button5_Click(object sender, EventArgs e) { int ID1 = int.Parse(textBox2.Text); int ID2 = int.Parse(textBox3.Text); Set[ID1] = Union(Set[ID1], Set[ID2]); 表示(); } private void Form1_Load(object sender, EventArgs e) { button1_Click(sender, e); } private int[] Intersection(int[] S1, int[] S2) { int[] S = new int[0] { }; foreach (int EL in S1) if(SetMember(EL,S2)) S = AddMember(EL, S); return S; } private void button6_Click(object sender, EventArgs e) { int ID1 = int.Parse(textBox2.Text); int ID2 = int.Parse(textBox3.Text); Set[ID1] = Intersection(Set[ID1], Set[ID2]); 表示(); } private int[] Difference(int[] S1, int[] S2) { int[] S = new int[0] { }; foreach (int EL in S1) if (!SetMember(EL, S2)) S = AddMember(EL, S); return S; } private void button7_Click(object sender, EventArgs e) { int ID1 = int.Parse(textBox2.Text); int ID2 = int.Parse(textBox3.Text); Set[ID1] = Difference(Set[ID1], Set[ID2]); 表示(); } private int[] Clone(int[] S2) { int[] S = S2; return S; } private void button8_Click(object sender, EventArgs e) { int ID1 = int.Parse(textBox2.Text); int ID2 = int.Parse(textBox3.Text); Set[ID1] = Clone(Set[ID2]); 表示(); } } }