示例#1
0
        private void button3_Click(object sender, EventArgs e)
        {
            List <char> ligas = new List <char>();

            for (int i = 0; i < textBox2.Text.Length; i++)
            {
                if (alfabeto.Contains(textBox2.Text[i]))
                {
                    ligas.Add(textBox2.Text[i]);
                }
            }
            AFD afd = new AFD(op, ligas, encabezados);

            afd.Genera_Estados();
            Dictionary <string, char> estados = new Dictionary <string, char>();

            estados = afd.Estados;
            foreach (KeyValuePair <string, char> kvp in estados)
            {
                //textBox3.Text += ("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
                MessageBox.Show(string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value));
            }

            foreach (char a in afd.DestadosF)
            {
                MessageBox.Show(a.ToString());
            }
        }
示例#2
0
        public string[,] AFD2()
        {
            List <char> ligas = new List <char>();

            for (int i = 0; i < textBox2.Text.Length; i++)
            {
                if (alfabeto.Contains(textBox2.Text[i]))
                {
                    ligas.Add(textBox2.Text[i]);
                }
            }
            AFD afd = new AFD(op, ligas, encabezados);

            afd.Genera_Estados();
            Dictionary <string, char> estados      = new Dictionary <string, char>();
            List <string>             transiciones = new List <string>(afd.DestadosT);

            estados = afd.Estados;
            this.dataGridView4.Columns.Clear();
            this.dataGridView4.Rows.Clear();
            this.dataGridView4.Refresh();
            this.dataGridView4.ColumnHeadersVisible = true;
            // Establece el estilo del encabezado de columna.
            DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();

            columnHeaderStyle.BackColor = Color.White;
            columnHeaderStyle.Font      = new Font("Verdana", 8, FontStyle.Bold);
            this.dataGridView4.ColumnHeadersDefaultCellStyle = columnHeaderStyle;

            dataGridView4.Columns.Add("Edos", "Edos");
            for (int i = 0; i < ligas.Count; i++)
            {
                this.dataGridView4.Columns.Add(ligas[i].ToString(), ligas[i].ToString());
            }

            for (int i = 0; i < afd.DestadosF.Count; i++)
            {
                this.dataGridView4.Rows.Add(afd.DestadosF[i].ToString());
            }

            int index = 0;

            for (int i = 0; i < dataGridView4.Rows.Count - 1; i++)
            {
                for (int j = 0; j < dataGridView4.ColumnCount; j++)
                {
                    for (int x = 0; x < transiciones.Count; x++)
                    {
                        if (dataGridView4.Rows[i].Cells[0].Value.ToString() == transiciones[x][0].ToString())
                        {
                            index = ligas.IndexOf(transiciones[x][1]);
                            dataGridView4.Rows[i].Cells[index + 1].Value = transiciones[x][2].ToString();
                        }
                    }
                }
            }
            Edos = afd.DestadosF;
            string[,] conjunto = new string[dataGridView4.Rows.Count, dataGridView4.Columns.Count];

            foreach (DataGridViewRow row in dataGridView4.Rows)
            {
                if (!row.IsNewRow)
                {
                    foreach (DataGridViewCell cel in row.Cells)
                    {
                        if (cel.Value != null)
                        {
                            conjunto[cel.RowIndex, cel.ColumnIndex] = cel.Value.ToString();
                        }
                        else
                        {
                            conjunto[cel.RowIndex, cel.ColumnIndex] = " ";
                        }
                    }
                }
            }
            EdosAcep.Add(afd.Aceptacion);
            return(conjunto);
        }