コード例 #1
0
        private void btnAceptarJSON_Click(object sender, EventArgs e)
        {
            archivoJson atjson = new archivoJson();
            archivoJson output = JsonConvert.DeserializeObject <archivoJson>(richTextBox1.Text.ToString());

            foreach (Matriz x in output.archivo.pila.matrices.matriz)
            {
                Console.WriteLine("matriz pila");
                Console.WriteLine("tamano x " + x.size_x);
                Console.WriteLine("tamano y " + x.size_y);
                Matriz_ matrizNueva = new Matriz_();
                matrizNueva.crearMatriz(Convert.ToInt32(x.size_x), Convert.ToInt32(x.size_y));

                foreach (Valor val in x.valores.valor)
                {
                    matrizNueva.asignar(Convert.ToInt32(val.pos_x), Convert.ToInt32(val.pos_y), Convert.ToInt32(val.dato));

                    Console.WriteLine("dato a guardar en pila");
                    Console.WriteLine("coordenada x " + val.pos_x);
                    Console.WriteLine("coordenada y " + val.pos_y);
                    Console.WriteLine("coordenada dato " + val.dato);
                }
                nodoUsuario.getPila().push(matrizNueva);
            }
            foreach (Matriz1 y in output.archivo.cola.matrices.matriz)
            {
                Matriz_ matrizNueva = new Matriz_();
                matrizNueva.crearMatriz(Convert.ToInt32(y.size_x), Convert.ToInt32(y.size_y));
                Console.WriteLine("matriz cola");
                Console.WriteLine("tamano en x " + y.size_x);
                Console.WriteLine("tamano en y " + y.size_y);

                foreach (Valor1 val2 in y.valores.valor)
                {
                    matrizNueva.asignar(Convert.ToInt32(val2.pos_x), Convert.ToInt32(val2.pos_y), Convert.ToInt32(val2.dato));
                    Console.WriteLine("dato a guardar en cola");
                    Console.WriteLine("coordenada x " + val2.pos_x);
                    Console.WriteLine("coordenada x " + val2.pos_y);
                    Console.WriteLine("dato " + val2.dato);
                }
                nodoUsuario.getCola().encolar(matrizNueva);
            }
        }
コード例 #2
0
        public void operarMatrices()
        {
            Matriz_ matrizResultante = new Matriz_();
            Matriz_ matCola          = nodoUsuario.getCola().desencolar();
            Matriz_ matPila          = nodoUsuario.getPila().pop();
            int     valorOperado;

            if (matPila.getX() == matCola.getX() && matPila.getY() == matCola.getY())
            {
                matrizResultante.crearMatriz(matCola.getX(), matPila.getY());
                for (int y = 0; y < matPila.getY(); y++)
                {
                    for (int x = 0; x < matCola.getX(); x++)
                    {
                        valorOperado = matCola.getValor(x, y) * matPila.getValor(y, x);
                        matrizResultante.asignar(x, y, valorOperado);
                    }
                }
            }
            matrizResultante.grafica("matrizResultante");
        }