Java - Como transformar matriz en array con java

   
Vista:

Como transformar matriz en array con java

Publicado por Maria (2 intervenciones) el 01/02/2016 13:19:24
Tengo una duda con un ejercicio que nos han puesto en clase. Se trata de crear un método que transforme una matriz en un array.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como transformar matriz en array con java

Publicado por Juan R. (94 intervenciones) el 01/02/2016 17:15:26
Buenas María

Y cuál es esa duda? Tienes el código que pusieron en clase?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como transformar matriz en array con java

Publicado por Maria (2 intervenciones) el 01/02/2016 17:31:55
Hola,
Este es el ejercicio.

Implementa una clase (OrdenacionBiDimensional) que contenga los métodos estáticos que
permitan hacer una ordenación de una matriz bidimensional (2D). En dicha clase tendremos un
método de ordenación de un array de los vistos en clase, por ejemplo, tendremos el método de
inserción. También tendremos un método que dada una matriz (2D) la transforme en un array
(1D). Además, tendremos otros dos métodos, uno que pase un array (1D) a una matriz (2D) por
filas y otro método que lo transforme por columnas, estos procesos los realizaremos una vez que
el array ya esté ordenado. También se implementarán otros dos métodos, uno para ordenar la
matriz (2D) por filas y otro para ordenar la matriz (2D) por columnas. Finalmente, tendremos
dos métodos, uno para mostrar la matriz (2D) y el otro para mostrar el array. Todo ello, tal y
como se puede observar en el diagrama de clases que se muestra a continuación.




y este es el código que tengo hecho y me falta la parte de transformarMatrizEnArray



public class OrdenacionBiDimensional {


public static String muestraMatriz(int[][] matriz) {
// TODO Auto-generated method stub
String Salida = "Matriz:" + "\n";
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
if (j != matriz[i].length - 1)
Salida += matriz[i][j] + "\t";
else
Salida += matriz[i][j];
}
if (i != matriz.length - 1)
Salida += "\n";
}
return Salida;
}

public static int[] transformarMatrizEnArray(int[][] matriz) {








return null;
}


public static String muestraArray(int[] array) {
// TODO Auto-generated method stub
String salida = "Array: " + "[";
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
salida += array[i];
}
else {
salida += array[i] + "\t";
}
}
salida += "]";
return salida;
}

public static void insercion(int[] array) {
// TODO Auto-generated method stub
for (int i = 1; i < array.length; i++) {
int aux = array[i];
int j;
for (j = i - 1; j >= 0 && aux < array[j]; j--) {
array[j + 1] = array[j];
}
// Inserto el elemento (aux) en otroArrayEnteros[j + 1]
array[j + 1] = aux;
}

}

public static int[][] transformarArrayOrdenadoEnMatrizFilas(int[][] matriz,
int[] array) {
// TODO Auto-generated method stub
insercion(array);
int k=0;

for (int i=0; i<matriz.length;i++) {
for ( int j =0; j< matriz[i].length; j++){
matriz[i][j]= array[k];
k++;
}
}



return matriz;
}

public static int[][] transformarArrayOrdenadoEnMatrizColumnas(
int[][] matriz, int[] array) {
// TODO Auto-generated method stub
insercion(array);
int[][] matriz2 = new int[matriz[0].length][matriz.length];


int k=0;
for (int i=0; i<matriz2[0].length;i++) {
for ( int j =0; j< matriz2.length; j++){


matriz2[j][i] = array[k++];

}
}




return matriz2;
}



public static int[][] matrizOrdenadaPorFilas(int[][] matriz) {
// TODO Auto-generated method stub
int[][] nuevaMatriz = new int[matriz.length][matriz[0].length];
for (int i = 0; i < nuevaMatriz.length; i++) {
int[] array = new int[matriz[i].length];
for (int j = 0, k = 0; j < nuevaMatriz[i].length; j++, k++) {
array[k] = matriz[i][j];

}
insercion(array);
for (int k = 0, j = 0; k < array.length; k++, j++) {
nuevaMatriz[i][j] = array[k];
}
}
return nuevaMatriz;
}

public static int[][] matrizOrdenadaPorColumnas(int[][] matriz) {
// TODO Auto-generated method stub
int[][] nuevaMatriz = new int[matriz.length][matriz[0].length];
for (int j = 0; j < nuevaMatriz.length; j++) {
int[] array = new int[matriz[j].length];
for (int i = 0, k = 0; i < nuevaMatriz[j].length; i++, k++) {
array[k] = matriz[j][i];

}
insercion(array);
for (int k = 0, i = 0; k < array.length; k++, i++) {
nuevaMatriz[j][i] = array[k];
}
}
return nuevaMatriz;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar