예제 #1
0
        private void DocFileCanh(string FileName)
        {
            string pathFile = pathArr + FileName + ".txt";

            if (!File.Exists(pathFile))
            {
                MessageBox.Show("file rỗng hoặc chưa được tạo");
                return;
            }
            var xx = File.ReadAllLines(pathFile);

            if (string.IsNullOrEmpty(xx[0]))
            {
                MessageBox.Show("file đã lưu sai");
                return;
            }
            for (int j = 1; j < xx.Length; j++)
            {
                var s = xx[j].Split(' ');

                var dDau  = dT.LayHinhTron(int.Parse(s[0]));
                var dcuoi = dT.LayHinhTron(int.Parse(s[1]));
                var canh  = new Canh(dDau, dcuoi);
                dT.ThemCanh(canh);
            }
        }
예제 #2
0
        private void DuyetDinh(int p, Hinh hinh, int[] dinhDaDuyet)
        {
            var dD = dt.LayHinhTron(p);

            hinh.tapDinh.Add(dD);
            dinhDaDuyet[p] = -1;
            var arr = Arr();

            for (int i = 0; i < dt.tapDinh.Count; i++)
            {
                if (arr[p, i] == 1)
                {
                    var canh = new Canh(dt.LayHinhTron(i), dD);
                    if (!hinh.tapCanh.Contains(canh))
                    {
                        hinh.tapCanh.Add(canh);
                    }
                    if (dinhDaDuyet[i] == 0)
                    {
                        DuyetDinh(i, hinh, dinhDaDuyet);
                    }
                }
            }
        }