Ejemplo n.º 1
0
        public int getValorMatriz(Matriz_Ortogonal matriz)
        {
            int valor = 0;

            for (int i = 0; i < matriz.dimension_x; i++)
            {
                for (int j = 0; j < matriz.dimension_y; j++)
                {
                    Dato numero = matriz.getValorNodo(i, j);
                    valor = valor + numero.dato;
                }
            }

            return(valor);
        }
        public void setValor(int fila, int columna, Dato valor)
        {
            Nodo temp = raiz;

            for (int i = 0; i < fila; i++)
            {
                temp = temp.abajo;
            }

            for (int i = 0; i < columna; i++)
            {
                temp = temp.derecha;
            }

            temp.valor = valor;
        }
Ejemplo n.º 3
0
        public void deserealizeJSON(string strJson)
        {
            var json = JsonConvert.DeserializeObject <Json>(strJson);

            //Matrices de la Pila
            foreach (var item in json.archivo.pila.matrices.matriz)

            {
                int dimension = (int.Parse(item.size_x) * int.Parse(item.size_y));
                Matriz_Ortogonal nuevaMatriz = new Matriz_Ortogonal(dimension);
                nuevaMatriz.dimension_x = int.Parse(item.size_x);
                nuevaMatriz.dimension_y = int.Parse(item.size_y);
                nuevaMatriz.CrearMatriz(dimension);

                foreach (var n in item.valores.valor)
                {
                    Dato nuevodato = new Dato(int.Parse(n.dato));
                    nuevaMatriz.setValor(int.Parse(n.pos_y), int.Parse(n.pos_x), nuevodato);
                }

                //Llenar de 0 los espacios vacios
                for (int i = 0; i <= (int.Parse(item.size_x)); i++)
                {
                    for (int j = 0; j < (int.Parse(item.size_y)); j++)
                    {
                        if (nuevaMatriz.getValorNodo(i, j) == null)
                        {
                            Dato cero = new Dato(0);
                            nuevaMatriz.setValor(i, j, cero);
                        }
                    }
                }

                pila.Push(nuevaMatriz);
            }

            //Matrices de la Cola

            foreach (var item in json.archivo.cola.matrices.matriz)
            {
                int dimension2 = (int.Parse(item.size_x) * int.Parse(item.size_y));

                Matriz_Ortogonal nuevaMatriz2 = new Matriz_Ortogonal(dimension2);
                nuevaMatriz2.dimension_x = int.Parse(item.size_x);
                nuevaMatriz2.dimension_y = int.Parse(item.size_y);
                nuevaMatriz2.CrearMatriz(dimension2);

                foreach (var i in item.valores.valor)
                {
                    Dato nuevodato2 = new Dato(int.Parse(i.dato));
                    nuevaMatriz2.setValor(int.Parse(i.pos_y), int.Parse(i.pos_x), nuevodato2);
                }
                //Llenar de 0 los espacios vacios
                for (int i = 0; i <= (int.Parse(item.size_x)); i++)
                {
                    for (int j = 0; j < (int.Parse(item.size_y)); j++)
                    {
                        if (nuevaMatriz2.getValorNodo(i, j) == null)
                        {
                            Dato cero = new Dato(0);
                            nuevaMatriz2.setValor(i, j, cero);
                        }
                    }
                }

                cola.encolar(nuevaMatriz2);
            }
        }
 public Nodo(Dato valor)
 {
     this.valor = valor;
 }