1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
// Programa: Arrays multidimensionales en Kotlin (3D y más) fun main() { // 1. Creación de un array tridimensional (3D) // Un array tridimensional puede visualizarse como un cubo o una colección de matrices 2D. // Aquí creamos un array 3D de enteros con dimensiones 2x3x3. val array3D = arrayOf( arrayOf( arrayOf(1, 2, 3), // Primera "fila" del cubo arrayOf(4, 5, 6), // Segunda "fila" del cubo arrayOf(7, 8, 9) // Tercera "fila" del cubo ), arrayOf( arrayOf(10, 11, 12), // Segunda "capa" del cubo arrayOf(13, 14, 15), // Segunda "capa" del cubo arrayOf(16, 17, 18) // Segunda "capa" del cubo ) ) println("Array 3D:") for (capa in array3D) { for (fila in capa) { println(fila.joinToString()) } println("--- Fin de capa ---") // Separar capas para visualización } // 2. Acceso a elementos en un array tridimensional // Accedemos a los elementos del array tridimensional mediante tres índices: [capa][fila][columna]. println("Elemento en [0][1][2]: ${array3D[0][1][2]}") // Imprime el valor 6 println("Elemento en [1][2][0]: ${array3D[1][2][0]}") // Imprime el valor 16 // 3. Modificación de elementos en un array tridimensional // Podemos modificar los valores de un array tridimensional igual que en arrays de menor dimensión. array3D[1][2][0] = 99 println("Array 3D modificado en [1][2][0]:") for (capa in array3D) { for (fila in capa) { println(fila.joinToString()) } println("--- Fin de capa ---") } // 4. Creación de un array multidimensional dinámico // Usando funciones de orden superior, podemos crear un array de 4 dimensiones. // Aquí creamos un array de 4x3x2x2 con valores inicializados a 0. val array4D = Array(4) { Array(3) { Array(2) { IntArray(2) { 0 } } } } println("Array 4D (todos los valores inicializados en 0):") for (cubo in array4D) { for (capa in cubo) { for (fila in capa) { println(fila.joinToString()) } println("--- Fin de fila ---") } println("--- Fin de capa ---") } // 5. Modificación en un array de 4 dimensiones // Modificamos un valor en el array 4D array4D[3][2][1][0] = 42 println("Array 4D después de modificar el valor en [3][2][1][0]:") for (cubo in array4D) { for (capa in cubo) { for (fila in capa) { println(fila.joinToString()) } println("--- Fin de fila ---") } println("--- Fin de capa ---") } // Fin del programa } |