Site icon Penyagolosa e-duca

Programación 1º – UD6 – Matrices (arrays) multidimensionales

Programación 1º – UD6 – Matrices (arrays) multidimensionales

¿Qué es una matriz en programación?

Una matriz (o array multidimensional) es una estructura de datos que almacena datos en más de una dimensión. La forma más común es en dos dimensiones, lo que equivale a una tabla, con filas y columnas.

Ejemplo: una imagen digital.

En Java, eso se hace con:

int[][] imagen = new int[4][5];

¿Qué significa int[][]?

Esto es un array bidimensional de enteros. Es como decir:

Visualmente sería algo así:

imagen = [
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
];

¿Cómo inicializar con valores?

Puedes hacerlo directamente:

int[][] matriz = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

¿Cómo se accede o modifica?

Usas dos índices: uno para la fila, otro para la columna:

imagen[0][0] = 255;  // Primer píxel, primer valor

¿Cómo recorrer una matriz con bucles?

Ejemplo:

int[][] imagen = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

Visualmente, esto es:

Fila 0 → 1 2 3  
Fila 1 → 4 5 6
Fila 2 → 7 8 9

Código para recorrerla:

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

Vamos línea por línea:

for (int i = 0; i < imagen.length; i++)

for (int j = 0; j < imagen[i].length; j++)

System.out.print(imagen[i][j] + " ");

System.out.println();

¿Qué es una matriz irregular?

Una matriz irregular es cuando las filas no tienen el mismo número de columnas. Esto es útil cuando no todos los datos siguen una estructura fija.

Ejemplo:

int[][] irregular = new int[3][]; // 3 filas, pero columnas no definidas

irregular[0] = new int[2];  // Fila 0 tiene 2 columnas
irregular[1] = new int[5];  // Fila 1 tiene 5 columnas
irregular[2] = new int[3];  // Fila 2 tiene 3 columnas

PROGRAMACIÓN

Preguntas de Programación de DAM

Actividades de Programación UD6 - 4. Matrices (arrays) multidimensionales

Preguntas de Programación de 1ºDAM de la Unidad 6: Matrices (arrays) multidimensionales

1 / 10

¿Qué representa m.length en una matriz int[][] m = new int[3][4];?

2 / 10

¿Cuál es el error en este código?

int[][] m = new int[2][3];
m[2][0] = 5;

3 / 10

¿Qué imprime este código?

int[][] m = {{1,2},{3,4}};
System.out.println(m[0][1] + m[1][0]);

4 / 10

¿Qué significa m[i][j] en una matriz?

5 / 10

¿Cuál es la mejor forma de recorrer toda la matriz int[][] m = new int[3][3];?

6 / 10

¿Qué imprime este código?

int[][] m = {{1, 2, 3}, {4, 5, 6}};
System.out.println(m[0].length);

7 / 10

¿Qué crea este código?

int[][] m = new int[2][4];

8 / 10

¿Qué pasa si ejecutas esto?

int[][] m = new int[3][];
System.out.println(m[1][0]);

9 / 10

¿Qué hace este código?

int[][] m = new int[2][2];
for(int i = 0; i < m.length; i++)
    for(int j = 0; j < m[i].length; j++)
        m[i][j] = i + j;

10 / 10

¿Qué imprime este código?

int[][] m = {{1, 2}, {3, 4}};
System.out.println(m[1][0]);

Your score is

0%

Actividades de programación

Actividad 1: Crear e imprimir una matriz de enteros

Crear una matriz de 3×3 con números enteros y mostrarla en pantalla.

public class MatrizBasica {
    public static void main(String[] args) {
        int[][] matriz = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        System.out.println(“Contenido de la matriz:”);
        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.println(); // Salto de línea al final de cada fila
        }
    }
}

Actividad 2: Sumar todos los elementos de una matriz

Crear una matriz de 2×3 con valores predefinidos y mostrar la suma total de todos los elementos.

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coastpublic class SumaMatriz {
    public static void main(String[] args) {
        int[][] numeros = {
            {3, 5, 2},
            {4, 6, 1}
        };

        int suma = 0;
        for (int i = 0; i < numeros.length; i++) {
            for (int j = 0; j < numeros[i].length; j++) {
                suma += numeros[i][j];
            }
        }

        System.out.println(“La suma de todos los elementos es: ” + suma);
    }
}

Actividad 3: Contar cuántos números pares hay en la matriz

Dada una matriz de enteros, contar cuántos números pares contiene.

public class ContarPares {
    public static void main(String[] args) {
        int[][] matriz = {
            {2, 7, 4},
            {9, 6, 8}
        };

        int contadorPares = 0;
        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[i].length; j++) {
                if (matriz[i][j] % 2 == 0) {
                    contadorPares++;
                }
            }
        }

        System.out.println(“Hay ” + contadorPares + ” números pares en la matriz.”);
    }
}

Actividad 4: Rellenar una matriz con números introducidos por el usuario

Pedir al usuario que escriba 6 números y guardarlos en una matriz de 2 filas y 3 columnas. Luego, mostrar la matriz.

import java.util.Scanner;

public class MatrizUsuario {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[][] datos = new int[2][3];

        System.out.println(“Introduce 6 números:”);

        for (int i = 0; i < datos.length; i++) {
            for (int j = 0; j < datos[i].length; j++) {
                System.out.print(“Número para [” + i + “][” + j + “]: “);
                datos[i][j] = scanner.nextInt();
            }
        }

        System.out.println(“Matriz introducida:”);
        for (int i = 0; i < datos.length; i++) {
            for (int j = 0; j < datos[i].length; j++) {
                System.out.print(datos[i][j] + ” “);
            }
            System.out.println();
        }
    }
}

Actividad 5: Buscar un número en una matriz

Crear una matriz de 3×3 con números. Pedir al usuario un número y mostrar si se encuentra y en qué posición.

import java.util.Scanner;

public class BuscarNumeroMatriz {
    public static void main(String[] args) {
        int[][] matriz = {
            {10, 15, 20},
            {25, 30, 35},
            {40, 45, 50}
        };

        Scanner scanner = new Scanner(System.in);
        System.out.print(“Introduce un número a buscar: “);
        int numBuscado = scanner.nextInt();
        boolean encontrado = false;

        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[i].length; j++) {
                if (matriz[i][j] == numBuscado) {
                    System.out.println(“Número encontrado en posición [” + i + “][” + j + “]”);
                    encontrado = true;
                }
            }
        }

        if (!encontrado) {
            System.out.println(“El número no se encuentra en la matriz.”);
        }
    }
}

Exit mobile version