public Matriz_ crearMatriz(int tamX, int tamY) { int contadorX = 1, contadorY = 0; x = tamX; y = tamY; nodoMatriz nodoAux = raiz; nodoMatriz tempAuxX = raiz; nodoMatriz auxiliar = raiz; while (contadorY < tamY) { while (contadorX < tamX) { nodoMatriz nuevoNodo = new nodoMatriz(0, contadorX, contadorY); tempAuxX.right = nuevoNodo; nuevoNodo.left = tempAuxX; tempAuxX = nuevoNodo; if (contadorY > 0) { auxiliar = auxiliar.right; nuevoNodo.up = auxiliar; auxiliar.down = nuevoNodo; } // MessageBox.Show("Insertando X: " + Convert.ToString(contadorX) + ", Y: " + Convert.ToString(contadorY)); contadorX++; } if ((contadorY + 1) != tamY) { contadorX = 0; contadorY++; auxiliar = nodoAux; nodoMatriz nuevoY = new nodoMatriz(0, contadorX, contadorY); nodoAux.down = nuevoY; nuevoY.up = nodoAux; nodoAux = nuevoY; tempAuxX = nodoAux; // MessageBox.Show("Insertando X: " + Convert.ToString(contadorX) + ", Y: " + Convert.ToString(contadorY)); contadorX = 1; } else { contadorY++; } } return(this); }
public int getValor() { nodoMatriz auxX = raiz; nodoMatriz auxY = raiz; int valor = 0; for (int i = 0; i < y; i++) { for (int j = 0; j < x; j++) { valor = valor + auxX.numero; auxX = auxX.right; } auxY = auxY.down; auxX = auxY; } return(valor); }
public void asignar(int x, int y, int dato) { nodoMatriz aux = raiz; int contx = 0; int conty = 0; while (conty < y) { while (contx < x) { aux = aux.right; contx++; } aux = aux.down; conty++; } aux.numero = dato; }
public nodoMatriz buscar(int fila, int columna) { nodoMatriz auxX = raiz; nodoMatriz auxY = raiz; for (int i = 0; i < fila; i++) { for (int j = 0; j < columna; j++) { auxX = auxX.right; auxY = auxX; } auxY = auxY.down; } return(auxY); }
public int getValor(int fila, int columna) { nodoMatriz cabeza = raiz; while (cabeza.up != null) { cabeza = cabeza.up; } for (int i = 0; i < fila; i++) { cabeza = cabeza.down; } for (int i = 0; i < columna; i++) { cabeza = cabeza.right; } return(cabeza.numero); }