public void push(Matriz_ matriz) { nodoPila nuevoNodo = new nodoPila(matriz); if (primero == null) { primero = nuevoNodo; } else { nuevoNodo.siguiente = primero; primero = nuevoNodo; } }
public void encolar(Matriz_ matriz) { nodoCola nuevo = new nodoCola(matriz); if (primero == null) { primero = nuevo; } else { nodoAux = primero; while (nodoAux.siguiente != null) { nodoAux = nodoAux.siguiente; } nodoAux.siguiente = nuevo; } }
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); } }
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"); }
public nodoPila(Matriz_ dato) { matriz = dato; siguiente = null; }
public nodoCola(Matriz_ valor) { siguiente = null; matriz_ = valor; }