Con la tecnología de Blogger.

Arrays multidimensionales

Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qué haber el mismo número de elementos o columnas.

Por ejemplo, podemos declarar e inicializar la siguiente matriz bidimensional:

double[][] matriz={{1,2,3,4},{5,6},{7,8,9,10,11,12},{13}};

· La primer fila tiene cuatro elementos {1,2,3,4}
· La segunda fila tiene dos elementos {5,6}
· La tercera fila tiene seis elementos {7,8,9,10,11,12}
· La cuarta fila tiene un elemento {13}

Para mostrar los elementos de este array bidimensional escribimos el siguiente código:

for (int i=0; i < matriz.length; i++) {
for (int j=0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+"\t");
}
System.out.println("");
}

Como podemos apreciar, matriz.length nos proporciona el número de filas (cuatro), y matriz[i].length, nos proporciona el número de elementos en cada fila.

Mostramos los elementos de una fila separados por un tabulador usando la función print. Una vez completada una fila se pasa a la siguiente mediante println.

Los arrays bidimensionales nos permiten guardar los elementos de una matriz.

Queremos crear y mostrar una matriz cuadrada unidad de dimensión 4.

Recordaremos que una matriz unidad es aquella cuyos elementos son ceros excepto los de la diagonal principal i==j, que son unos. Mediante un doble bucle for recorremos los elementos de la matriz especificando su fila i y su columna j.

En el siguiente programa

· Se crea una matriz cuadrada de dimensión cuatro
· Se inicializa los elementos de la matriz (matriz unidad)
· Se muestra la matriz una fila debajo de la otra separando los elementos de una fila por tabuladores.

public class MatrizUnidadApp {
public static void main (String[] args) {
double[][] mUnidad= new double[4][4];
for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
if (i == j) {
mUnidad[i][j]=1.0;
}else {
mUnidad[i][j] = 0.0;
}
}
}
for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
System.out.print(mUnidad[i][j]+"\t");
}
System.out.println("");
}
}
}

Un ejemplo del uso de break con etiqueta y arrays multidimensionales
int[][] matriz={ {32, 87, 3, 589},
{12, -30, 190, 0},
{622, 127, 981, -3, -5}};
int numero=12;
int i=0, j=0;
buscado:
for(i=0; i<matriz.length; i++){
for(j=0; j<matriz[i].length; j++){
if(matriz[i][j]==numero){
break buscado;
}
}
}
System.out.println("buscado: matriz("+ i+", "+j+")="+matriz[i][j]);

El código fuente:

package matrizUnidad;
public class MatrizUnidadApp {
public static void main (String[] args) {
double[][] mUnidad= new double[4][4];

for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
if (i == j) {
mUnidad[i][j]=1.0;
}else {
mUnidad[i][j] = 0.0;
}
}
}
for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
System.out.print(mUnidad[i][j]+"\t");
}
System.out.println("");
}
try{
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception ex) { }
}
}
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)