Esempio n. 1
0
        public List <Nhom> KhoiTaoNhom(int soNhom, List <Diem> dsDiem)
        {
            int    soDiem = dsDiem.Count;
            Random r      = new Random();

            List <Nhom> dsNhom = new List <Nhom>();

            for (int i = 0; i < soNhom; i++)
            {
                Nhom n = new Nhom();
                n.Ma  = i;
                n.Ten = "Nhóm thứ " + i.ToString();
                Diem d = dsDiem[r.Next(soDiem - 1)];
                n.X = d.X;
                n.Y = d.Y;
                dsNhom.Add(n);
            }
            return(dsNhom);
        }
Esempio n. 2
0
        /* Bài toán
         * INPUT: Tập các điểm và các số nhóm cần phân chia
         * OUPUT: Các điểm đã được phân chia hợp lý vào các nhóm
         * - CÁC BƯỚC THỰC HIỆN
         * B1: Lấy n điểm bất kỳ tương ứng với n nhóm cần phân chia tâm các nhóm
         * B2: Tính khoảng cách các điểm đến từng tâm nhóm nếu điểm đó gần tâm nhóm nào nhất thì nạp vào điểm đó vào nhóm đó
         * B3: Tính lại tâm của các nhóm
         * B4: Kiểm tra xem tâm các nhóm có thay đổi hay không, Nếu tâm nhóm thay đổi thì quay lại bước 2, nếu tâm nhóm k thay đổi thì kết thúc
         *
         */

        public List <Diem> DocDuLieu(String duongDan)
        {
            String      dl = File.ReadAllText(duongDan);
            List <Diem> ds = new List <Diem>();

            if (dl.Length > 0 && dl.Contains("\r\n") && dl.Contains(","))
            {
                foreach (string dong in dl.Split('\r'))
                {
                    if (String.IsNullOrEmpty(dong.Trim()))
                    {
                        continue;
                    }
                    String tmp     = dong.Replace("\n", "").Trim();
                    string hocSinh = tmp.Split('(')[0].Trim();
                    string diem    = tmp.Split('(')[1].Trim().Replace(')', ' ');

                    float diemToan = float.Parse(diem.Split(',')[0].Trim().Split(':')[1]);
                    float diemVan  = float.Parse(diem.Split(',')[1].Trim().Split(':')[1]);
                    float diemAnh  = float.Parse(diem.Split(',')[2].Trim().Split(':')[1]);
                    float diemHoa  = float.Parse(diem.Split(',')[3].Trim().Split(':')[1]);
                    float diemLy   = float.Parse(diem.Split(',')[4].Trim().Split(':')[1]);
                    Diem  d        = new Diem();
                    d.HocSinh  = hocSinh;
                    d.DiemToan = diemToan;
                    d.DiemVan  = diemVan;
                    d.DiemAnh  = diemAnh;
                    d.DiemHoa  = diemHoa;
                    d.DiemLy   = diemLy;
                    ds.Add(d);
                }
                return(ds);
            }
            else
            {
                return(null);
            }
        }