示例#1
0
 public GUIWinograd()
 {
     InitializeComponent();
     matriz = new Matriz();
 }
示例#2
0
 public GUIStrassen()
 {
     InitializeComponent();
     matriz = new Matriz();
 }
示例#3
0
        public void generarMatriz(Matriz matriz, int nivel)
        {
            string acumInfo = "digraph G{ \n " +
                              "node[shape=box, style=filled, color=deepskyblue3];\n " +
                              "edge[color=black]; \n " +
                              "rankdir=UD; \n";


            string idCabeceraFila  = "";
            string cabeceraFila    = "";
            string idCabeceraCol   = "";
            string cabeceraCol     = "";
            string alineacionCol   = "{rank=min;Matriz;";
            string acumOrtogonales = "";

            string nodoAcum         = "";
            string anterior         = "";
            string anteriorCabecera = "";
            string filas            = "Matriz;";
            string columnas         = "Matriz";

            //recorrido de filas;
            Encabezado eFila = matriz.ncbzdoFilas.primero;
            Encabezado eCol  = matriz.ncbzdoColumnas.primero;

            if (eFila != null)
            {
                cabeceraFila += "Matriz ->" + eFila.GetHashCode().ToString() + ";\n";
                while (eFila.siguiente != null)
                {
                    idCabeceraFila += eFila.GetHashCode().ToString() + "[label = \"" + eFila.id.ToString() + "\"];\n";
                    cabeceraFila   += eFila.GetHashCode().ToString() + " -> " + eFila.siguiente.GetHashCode().ToString() + ";\n";

                    eFila = eFila.siguiente;
                }
                idCabeceraFila += eFila.GetHashCode().ToString() + "[label = \"" + eFila.id.ToString() + "\"];\n";
                while (eFila.anterior != null)
                {
                    cabeceraFila += eFila.GetHashCode().ToString() + " -> " + eFila.anterior.GetHashCode().ToString() + ";\n";
                    eFila         = eFila.anterior;
                }
            }
            if (eCol != null)
            {
                cabeceraCol += "Matriz ->" + eCol.GetHashCode().ToString() + ";\n";
                while (eCol.siguiente != null)
                {
                    string conversion = Convert.ToChar(eCol.id).ToString();
                    alineacionCol += eCol.GetHashCode().ToString() + ";";
                    idCabeceraCol += eCol.GetHashCode().ToString() + "[label=\"" + conversion + "\"];\n";
                    cabeceraCol   += eCol.GetHashCode().ToString() + " -> " + eCol.siguiente.GetHashCode().ToString() + ";\n";
                    // MessageBox.Show(eCol.GetHashCode().ToString());
                    enlazarNodosOrtoCol(ref eCol, ref acumOrtogonales, nivel);
                    eCol = eCol.siguiente;
                }
                string conv = Convert.ToChar(eCol.id).ToString();
                enlazarNodosOrtoCol(ref eCol, ref acumOrtogonales, nivel);
                alineacionCol += eCol.GetHashCode().ToString() + ";};\n\n";
                idCabeceraCol += eCol.GetHashCode().ToString() + "[label=\"" + conv + "\"];\n";
                while (eCol.anterior != null)
                {
                    cabeceraCol += eCol.GetHashCode().ToString() + " -> " + eCol.anterior.GetHashCode().ToString() + ";\n";
                    eCol         = eCol.anterior;
                }
            }


            acumInfo += alineacionCol + idCabeceraCol + idCabeceraFila + cabeceraCol + cabeceraFila + "\n\n" + acumOrtogonales + "\n}\n";

            const string f = "matriz.dot";
            StreamWriter w = new StreamWriter(f);

            w.WriteLine(acumInfo);
            w.Close();
            generarImagen("matriz.dot", "matriz.png");
        }
示例#4
0
 public GUIClasico()
 {
     InitializeComponent();
     matriz = new Matriz();
 }
示例#5
0
        private void button1_Click(object sender, EventArgs e)
        {
            Matriz nuevo = new Matriz();
            Unidad u1    = new Unidad(0, 0);
            Unidad u2    = new Unidad(1, 1);
            Unidad u3    = new Unidad(1, 3);
            Unidad u4    = new Unidad(0, 0);
            Unidad u5    = new Unidad(2, 1);
            Unidad u6    = new Unidad(3, 1);
            Unidad u7    = new Unidad(2, 1);

            nuevo.insertar(1, "A", ref u1);
            nuevo.insertar(1, "B", ref u2);
            nuevo.insertar(1, "A", ref u3);
            nuevo.insertar(1, "B", ref u4);
            nuevo.insertar(1, "A", ref u5);
            nuevo.insertar(1, "B", ref u6);
            nuevo.insertar(1, "B", ref u7);

            //      nuevo.insertar(1, "B", ref u2);
            //nuevo.insertar(1, "B", ref u4);


            //Unidad u5 = new Unidad(0, 0);
            //Unidad u6 = new Unidad(1, 1);
            //Unidad u7 = new Unidad(2, 3);
            //Unidad u8 = new Unidad(3, 6);

            //nuevo.insertar(2, "A", ref u5);
            //nuevo.insertar(2, "A", ref u6);
            //nuevo.insertar(2, "A", ref u7);
            //nuevo.insertar(2, "D", ref u8);

            //Unidad u9 = new Unidad(0, 0);
            //Unidad u10 = new Unidad(1, 1);
            //Unidad u11 = new Unidad(2, 3);
            //Unidad u12 = new Unidad(3, 6);

            //nuevo.insertar(1, "A", ref u1);
            //nuevo.insertar(1, "A", ref u2);
            //nuevo.insertar(1, "A", ref u3);
            //nuevo.insertar(1, "A", ref u4);

            // Unidad u5 = new Unidad(0, 0);
            // Unidad u6 = new Unidad(1, 1);
            // Unidad u7 = new Unidad(2, 3);
            // Unidad u8 = new Unidad(3, 6);

            //// nuevo.insertar(1, "C", ref u5);
            //// nuevo.insertar(1, "C", ref u6);
            ////// nuevo.insertar(1, "C", ref u3);
            //// nuevo.insertar(1, "C", ref u8);


            //Unidad u9 = new Unidad(0, 0);
            //Unidad u10 = new Unidad(1, 1);
            //Unidad u11 = new Unidad(2, 3);
            //Unidad u12 = new Unidad(3, 6);

            //nuevo.insertar(1, "B", ref u9);
            //nuevo.insertar(1, "B", ref u12);
            //nuevo.insertar(1, "B", ref u10);
            //nuevo.insertar(1, "B", ref u11);
            //nuevo.insertar(1, "D", ref u12);



            //Unidad u1 = new Unidad(3, 6);
            //Unidad u2 = new Unidad(2, 5);
            //Unidad u3 = new Unidad(1, 2);
            //Unidad u4 = new Unidad(1,2);
            //Unidad u5 = new Unidad(1, 2);
            //Unidad u6 = new Unidad(0, 0);

            //Unidad u7 = new Unidad(1, 2);
            //Unidad u8 = new Unidad(1, 2);
            //Unidad u9 = new Unidad(1, 2);

            //nuevo.insertar(1, "A", ref u1);
            //nuevo.insertar(12, "D", ref u2);

            //nuevo.insertar(8, "E", ref u3);
            //nuevo.insertar(9, "E", ref u7);
            //nuevo.insertar(10, "E", ref u8);
            //nuevo.insertar(11, "E", ref u9);

            //nuevo.insertar(2, "F", ref u4);
            //nuevo.insertar(5, "G", ref u5);
            //nuevo.insertar(7, "V", ref u6);

            // Grafo g = new Grafo();
            // g.generarMatriz(nuevo, 1);
        }
示例#6
0
 public GUIParticion()
 {
     InitializeComponent();
     matriz = new Matriz();
 }