Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > ayuda para encontrar elementos consecutivos repetidos en una matriz

hola amigos , tengo una matriz nxn y yo selecciono un punto cualquiera en la matriz donde debo tener un metodo que me recorra desde esa posicion los numeros consecutivos que sean iguales y los modifique en otro numero

asi:

1 2 3 5
4 5 5 5
4 5 2 5

donde selecciono la posicion: fila 1 , columna 4
y me cambie los elementos consecutivos repetidos por 0
dandome una matriz resultante asi:

1 2 3 0
4 0 0 0
4 0 2 0

noviembre 18, 2014 | Unregistered Commenteracero123

¿Y cuál es la pregunta? Porque parece un ejercicio bastante sencillo.

noviembre 21, 2014 | Registered Commenterrickiees

public class Matriz {

private int matriz[][];
private int filas;
private int columnas;

public Matriz(int filas, int columnas) {
this.filas = filas;
this.columnas = columnas;
matriz = new int[filas][columnas];
}

public void llenar(String valores, String separador) {
StringTokenizer cadena = new StringTokenizer(valores, separador);
int i = 0, j = 0;
while (cadena.hasMoreElements()) {
String nextElement = cadena.nextToken();

if (j == columnas) {
j = 0;
i++;
}
matriz[i][j++] = Integer.parseInt(nextElement);
}
}

public void recorrido(int fila, int columna, int reemplazo) {
int posicion = matriz[fila][columna];
int i = fila, j = columna;
for (; i < matriz.length; i++) {
for (; j < matriz[i].length; j++) {
if (matriz[i][j] == posicion) {
matriz[i][j] = reemplazo;
}
}
j = 0;
}
}

public void imprimir() {
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(" " + matriz[i][j] + " ");
}
System.out.print("\n");
}
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Matriz m = new Matriz(3, 4);
m.llenar("1 2 3 5 4 5 5 5 4 5 2 5", " ");
m.imprimir();
m.recorrido(0, 3, 0);
System.out.println("\nReemplazo");
m.imprimir();
}

diciembre 3, 2014 | Registered Commenternelsonxx1