public DanhSachHinhHoc TimHinhChuNhatCVBangX(float x) { DanhSachHinhHoc result = new DanhSachHinhHoc(); foreach (var item in ListHinhHoc) { if (item is HinhChuNhat && ((HinhChuNhat)item).TinhChuVi() == x) { result.Them(item); } } return(result); }
public DanhSachHinhHoc ListHinhChuNhat() { DanhSachHinhHoc result = new DanhSachHinhHoc(); foreach (var item in ListHinhHoc) { if (item is HinhChuNhat) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhTronDTBangX(float x) { DanhSachHinhHoc result = new DanhSachHinhHoc(); foreach (var item in ListHinhHoc) { if (item is HinhTron && ((HinhTron)item).TinhDienTich() == x) { result.Them(item); } } return(result); }
public DanhSachHinhHoc DanhSachKieuHinh(TypeList typeList) { DanhSachHinhHoc result = new DanhSachHinhHoc(); foreach (var item in ListHinhHoc) { if (TrungKieuHinh(item, typeList)) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhChuNhatMaxChieuDai() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float max = MaxBanKinhHinhChuNhat(); foreach (var item in ListHinhHoc) { if (item is HinhChuNhat && ((HinhChuNhat)item).TinhChuVi() / ((HinhChuNhat)item).ChieuRong * 2 == max) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhTronMaxBanKinh() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float max = MaxBanKinhHinhTron(); foreach (var item in ListHinhHoc) { if (item is HinhTron && ((HinhTron)item).BanKinh == max) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhVuongMaxCanh() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float max = MaxCanhHinhVuong(); foreach (var item in ListHinhHoc) { if (item is HinhVuong && ((HinhVuong)item).Canh == max) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhChuNhatMinCV() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float min = TimMinCVHinhChuNhat(); foreach (var item in ListHinhHoc) { if (item is HinhChuNhat && ((HinhChuNhat)item).TinhChuVi() == min) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhTronMinDT() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float min = TimMinDTHinhTron(); foreach (var item in ListHinhHoc) { if (item is HinhTron && ((HinhTron)item).TinhDienTich() == min) { result.Them(item); } } return(result); }
public DanhSachHinhHoc XoaHinhCVNhoNhat() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float cvNhoNhat = TimMinCV(); WriteLine("Chu vi nho nhat la " + cvNhoNhat); foreach (var item in ListHinhHoc) { if (item is HinhVuong && ((HinhVuong)item).TinhChuVi() != cvNhoNhat || item is HinhTron && ((HinhTron)item).TinhChuVi() != cvNhoNhat || item is HinhChuNhat && ((HinhChuNhat)item).TinhChuVi() != cvNhoNhat) { result.Them(item); } } return(result); }
public DanhSachHinhHoc XoaHinhDTNhoNhat() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float dtNhoNhat = TimMinDT(); WriteLine("Dien tich nho nhat la " + dtNhoNhat); foreach (var item in ListHinhHoc) { if (item is HinhVuong && ((HinhVuong)item).TinhDienTich() != dtNhoNhat || item is HinhTron && ((HinhTron)item).TinhDienTich() != dtNhoNhat || item is HinhChuNhat && ((HinhChuNhat)item).TinhDienTich() != dtNhoNhat) { result.Them(item); } } return(result); }
public DanhSachHinhHoc TimHinhCoMaxCV() { DanhSachHinhHoc result = new DanhSachHinhHoc(); float max = TimMaxCV(); foreach (var item in ListHinhHoc) { if (item is HinhVuong && ((HinhVuong)item).TinhChuVi() == max) { result.Them(item); } if (item is HinhTron && ((HinhTron)item).TinhChuVi() == max) { result.Them(item); } if (item is HinhChuNhat && ((HinhChuNhat)item).TinhChuVi() == max) { result.Them(item); } } return(result); }
public DanhSachHinhHoc SortHinhHoc <T>(int sortBy) { DanhSachHinhHoc result = DanhSachKieuHinh <T>(); switch (sortBy) { case 0: result.ListHinhHoc = result.ListHinhHoc.OrderBy(hinh => hinh.TinhChuVi()).ToList(); return(result); case 1: result.ListHinhHoc = result.ListHinhHoc.OrderBy(hinh => hinh.TinhDienTich()).ToList(); return(result); case 2: result.ListHinhHoc = result.ListHinhHoc.OrderByDescending(hinh => hinh.TinhChuVi()).ToList(); return(result); case 3: result.ListHinhHoc = result.ListHinhHoc.OrderByDescending(hinh => hinh.TinhDienTich()).ToList(); return(result); } return(null); }
public DanhSachHinhHoc SortHinhHoc(SortBy sortBy, TypeList typeList) { DanhSachHinhHoc result = new DanhSachHinhHoc(); switch (sortBy) { // OrderSort case SortBy.SortUpByDT: if (typeList == TypeList.HinhVuong) { result = DanhSachKieuHinh(TypeList.HinhVuong); result.ListHinhHoc = result.ListHinhHoc.OrderBy(hinh => (hinh as HinhVuong).TinhDienTich()).ToList(); return(result); } if (typeList == TypeList.HinhTron) { result = DanhSachKieuHinh(TypeList.HinhTron); result.ListHinhHoc = result.ListHinhHoc.OrderBy(hinh => (hinh as HinhTron).TinhDienTich()).ToList(); return(result); } if (typeList == TypeList.HinhChuNhat) { result = DanhSachKieuHinh(TypeList.HinhChuNhat); result.ListHinhHoc = result.ListHinhHoc.OrderBy(hinh => (hinh as HinhChuNhat).TinhDienTich()).ToList(); return(result); } break; // Delegate Sort case SortBy.SortUpByCV: if (typeList == TypeList.HinhVuong) { result = DanhSachKieuHinh(TypeList.HinhVuong); result.ListHinhHoc.Sort(delegate(HinhHoc x, HinhHoc y) { return((x as HinhVuong).TinhChuVi().CompareTo((y as HinhVuong).TinhChuVi())); }); return(result); } if (typeList == TypeList.HinhTron) { result = DanhSachKieuHinh(TypeList.HinhTron); result.ListHinhHoc.Sort(delegate(HinhHoc x, HinhHoc y) { return((x as HinhTron).TinhChuVi().CompareTo((y as HinhTron).TinhChuVi())); }); return(result); } if (typeList == TypeList.HinhChuNhat) { result = DanhSachKieuHinh(TypeList.HinhChuNhat); result.ListHinhHoc.Sort(delegate(HinhHoc x, HinhHoc y) { return((x as HinhChuNhat).TinhChuVi().CompareTo((y as HinhChuNhat).TinhChuVi())); }); return(result); } break; // IcomparerSort and OrderByDescending Sort case SortBy.SortDownByDT: if (typeList == TypeList.HinhVuong) { result = DanhSachKieuHinh(TypeList.HinhVuong); result.ListHinhHoc.Sort(new SortListHinhVuongGiam_DT()); return(result); } if (typeList == TypeList.HinhTron) { result = DanhSachKieuHinh(TypeList.HinhTron); result.ListHinhHoc = result.ListHinhHoc.OrderByDescending(hinh => (hinh as HinhTron).TinhDienTich()).ToList(); return(result); } if (typeList == TypeList.HinhChuNhat) { result = DanhSachKieuHinh(TypeList.HinhChuNhat); result.ListHinhHoc = result.ListHinhHoc.OrderByDescending(hinh => (hinh as HinhChuNhat).TinhDienTich()).ToList(); return(result); } break; // Lambda Sort case SortBy.SortDownByCV: if (typeList == TypeList.HinhVuong) { result = DanhSachKieuHinh(TypeList.HinhVuong); result.ListHinhHoc.Sort((HinhHoc x, HinhHoc y) => (y as HinhVuong).TinhChuVi().CompareTo((x as HinhVuong).TinhChuVi())); return(result); } if (typeList == TypeList.HinhTron) { result = DanhSachKieuHinh(TypeList.HinhTron); result.ListHinhHoc.Sort((HinhHoc x, HinhHoc y) => (y as HinhTron).TinhChuVi().CompareTo((x as HinhTron).TinhChuVi())); return(result); } if (typeList == TypeList.HinhChuNhat) { result = DanhSachKieuHinh(TypeList.HinhChuNhat); result.ListHinhHoc.Sort((HinhHoc x, HinhHoc y) => (y as HinhChuNhat).TinhChuVi().CompareTo((x as HinhChuNhat).TinhChuVi())); return(result); } break; } return(result); }
public float MinMaxCV_DT_BK_C_CD(TypeMinMax typeMinMax, TypeList typeList) { DanhSachHinhHoc hinhVuong = DanhSachKieuHinh(TypeList.HinhVuong); DanhSachHinhHoc hinhTron = DanhSachKieuHinh(TypeList.HinhTron); DanhSachHinhHoc hinhChuNhat = DanhSachKieuHinh(TypeList.HinhChuNhat); float minMax = 0; switch (typeList) { case TypeList.HinhVuong: switch (typeMinMax) { case TypeMinMax.maxDienTich: minMax = hinhVuong.ListHinhHoc.Max(x => (x as HinhVuong).TinhDienTich()); break; case TypeMinMax.maxChuVi: minMax = hinhVuong.ListHinhHoc.Max(x => (x as HinhVuong).TinhChuVi()); break; case TypeMinMax.minDienTich: minMax = hinhVuong.ListHinhHoc.Min(x => (x as HinhVuong).TinhDienTich()); break; case TypeMinMax.minChuVi: minMax = hinhVuong.ListHinhHoc.Min(x => (x as HinhVuong).TinhChuVi()); break; case TypeMinMax.maxCanh: minMax = hinhVuong.ListHinhHoc.Max(x => (x as HinhVuong).Canh); break; case TypeMinMax.minCanh: minMax = hinhVuong.ListHinhHoc.Min(x => (x as HinhVuong).Canh); break; } break; case TypeList.HinhTron: switch (typeMinMax) { case TypeMinMax.maxDienTich: minMax = hinhTron.ListHinhHoc.Max(x => (x as HinhTron).TinhDienTich()); break; case TypeMinMax.maxChuVi: minMax = hinhTron.ListHinhHoc.Max(x => (x as HinhTron).TinhChuVi()); break; case TypeMinMax.minDienTich: minMax = hinhTron.ListHinhHoc.Min(x => (x as HinhTron).TinhDienTich()); break; case TypeMinMax.minChuVi: minMax = hinhTron.ListHinhHoc.Min(x => (x as HinhTron).TinhChuVi()); break; case TypeMinMax.maxBanKinh: minMax = hinhTron.ListHinhHoc.Max(x => (x as HinhTron).BanKinh); break; case TypeMinMax.minBanKinh: minMax = hinhTron.ListHinhHoc.Min(x => (x as HinhTron).BanKinh); break; } break; case TypeList.HinhChuNhat: switch (typeMinMax) { case TypeMinMax.maxDienTich: minMax = hinhChuNhat.ListHinhHoc.Max(x => (x as HinhChuNhat).TinhDienTich()); break; case TypeMinMax.maxChuVi: minMax = hinhChuNhat.ListHinhHoc.Max(x => (x as HinhChuNhat).TinhChuVi()); break; case TypeMinMax.minDienTich: minMax = hinhChuNhat.ListHinhHoc.Min(x => (x as HinhChuNhat).TinhDienTich()); break; case TypeMinMax.minChuVi: minMax = hinhChuNhat.ListHinhHoc.Min(x => (x as HinhChuNhat).TinhChuVi()); break; case TypeMinMax.maxChieuDai: minMax = hinhChuNhat.ListHinhHoc.Max(x => (x as HinhChuNhat).TinhDienTich()); break; case TypeMinMax.minChieuDai: minMax = hinhChuNhat.ListHinhHoc.Min(x => (x as HinhChuNhat).TinhDienTich()); break; } break; case TypeList.TatCaHinh: switch (typeMinMax) { case TypeMinMax.maxDienTich: minMax = ListHinhHoc.Max(x => x.TinhDienTich()); break; case TypeMinMax.maxChuVi: minMax = ListHinhHoc.Max(x => x.TinhChuVi()); break; case TypeMinMax.minDienTich: minMax = ListHinhHoc.Min(x => x.TinhDienTich()); break; case TypeMinMax.minChuVi: minMax = ListHinhHoc.Min(x => x.TinhChuVi()); break; } break; } return(minMax); }