Ejercicio de arrays multidimensionales (II)

Otro de matrices. ¡Espero que estéis aprendiendo!

Ejercicio

Escribe un método que reciba una matriz de enteros por parámetro y la rellene para que sus posiciones almacenen un valor que se irá incrementando en una unidad por columna. La matriz se rellenará de manera que dos elementos consecutivos, según la primera dimensión, almacenen dos valores también consecutivos.

Como puede hacerse

Una vez comprobado que el array bidimensional recibido no se trata de una referencia nula, se recorren todas sus posiciones haciendo que se acceda a todos los elementos, primero por su índice según la segunda dimensión, y luego por el de la primera. Cada vez que se da valor a una posición, éste se incrementará para su asignación en la posición siguiente.

Parámetros

El método recibe como parámetro un array bidimensional de enteros para asignar valores a sus posiciones.

Valor de retorno

El método no devuelve ningún valor de retorno, ya que se modifucan directamente las posiciones del propio array bidimensional recibido como entrada. Como no devuelve ningún valor, se utiliza la claúsula void.

Solución

public void rellenarMatrizPorColumnas(int[][] matriz) {
        if (matriz == null) {
            throw new IllegalArgumentException(“Parametro no valido”);
        }
//SUPONEMOS QUE TODAS LAS COLUMNAS TIENEN EL //MISMO NÚMERO DE ELEMENTOS
        for (int j = 0, k = 0; j < matriz[0].length; j++) {
            for (int i = 0; i < matriz.length; i++) {
                matriz[i][j] = k++;
            }
        }

    }

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s