private void btnresult_Click(object sender, EventArgs e) { if (bans == true) { phansos[n - 1] = new Phanso(Convert.ToDouble(Tuso[n - 1].Text.Trim()), Convert.ToDouble(mauso[n - 1].Text.Trim())); phansoNguyengoc[n - 1] = new Phanso(Convert.ToDouble(Tuso[n - 1].Text.Trim()), Convert.ToDouble(mauso[n - 1].Text.Trim())); } else { phansos[n - 1] = new Phanso(Convert.ToDouble(Tuso[n - 1].Text.Trim()), Convert.ToDouble(mauso[n - 1].Text.Trim())); phansoNguyengoc[n - 1] = new Phanso(Convert.ToDouble(Tuso[n - 1].Text.Trim()), Convert.ToDouble(mauso[n - 1].Text.Trim())); } int l = KtraMausoBangKhong(phansos, n); Phanso kq = KquaCongTru(phansos, a, n); if (kq.Mauso != 0) { if (kq.Tuso * kq.Mauso > 0)//neu ca 2 cung la so am hoac duong { Math.Abs(kq.Tuso); Math.Abs(kq.Mauso); } else if (kq.Mauso < 0 && kq.Tuso > 0)//neu 1 trong 2 la so am { kq.Mauso = kq.Mauso * (-1); kq.Tuso = kq.Tuso * (-1); } kq = Doi(kq.Tuso) / Doi(kq.Mauso);//vi ham doi se tao ra 1 phan so moi, nen phai chia lai thi moi ra ans = new Phanso(kq.Tuso, kq.Mauso); if (kq.Tuso - (int)kq.Tuso == 0 && kq.Mauso - (int)kq.Mauso == 0) { double a = kq.UCLN(Math.Abs(kq.Tuso), Math.Abs(kq.Mauso)); ans = new Phanso(kq.Tuso / a, kq.Mauso / a); } textBox1.Text = ans.Tuso.ToString(); textBox2.Text = ans.Mauso.ToString(); btnClear.Enabled = true; bans = true; } else //mau so bang 0 { MessageBox.Show("Có một hoặc nhiều phân số bằng không.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); //int l = KtraMausoBangKhong(phansos, n); if (l >= 0) { mauso[l].Focus(); } } }