Menu
Coddy logo textTech

Conceptos básicos de arreglos 2D

Parte de la sección Lógica y flujo del Journey de Ruby de Coddy — lección 10 de 56.

Un array bidimensional es un array cuyos elementos son, a su vez, arrays. Cada array interno representa una fila en una cuadrícula.

cinema = [
  [true,  true],   # Fila 0
  [false, true]    # Fila 1
]

Esto representa una cuadrícula de 2×2, dos filas, cada una con dos columnas.

Para crear una cuadrícula de 3×4 de enteros:

matrix = [
  [ 1,  2,  3,  4],
  [ 5,  6,  7,  8],
  [ 9, 10, 11, 12]
]

Puedes construir una cuadrícula llena con un valor por defecto usando Array.new dos veces, una para las filas y otra para las columnas:

grid = Array.new(3) { Array.new(4, 0) }
# 3 filas, 4 columnas, todo ceros

La forma de bloque ({ Array.new(4, 0) }) es importante, ya que crea un nuevo array interno para cada fila. Sin ella, cada fila apuntaría al mismo array.

challenge icon

Desafío

Fácil

Lee dos enteros (dos líneas de entrada): rows y cols. Construye un arreglo bidimensional de ese tamaño donde cada celda sea igual a row * cols + col + 1 (así que la primera fila cuenta desde 1, y la cuadrícula se llena en orden de lectura).

Imprime la cuadrícula usando inspect en el arreglo exterior, en una sola línea.

Para la entrada 2 luego 3, la salida es:

[[1, 2, 3], [4, 5, 6]]

Hoja de referencia

Los arreglos bidimensionales son arreglos de arreglos, donde cada arreglo interno es una fila:

matrix = [
  [1, 2, 3],
  [4, 5, 6]
]

Construye una cuadrícula con un valor por defecto usando Array.new con un bloque (el bloque asegura que cada fila sea un arreglo independiente):

grid = Array.new(3) { Array.new(4, 0) }
# 3 filas, 4 columnas, todo ceros

Pruébalo tú mismo

rows = gets.to_i
cols = gets.to_i

# TODO: construir la cuadrícula e imprimirla con inspect
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo