90. ¿Qué son y cómo se declaran?

 📋 Introducción a los Arreglos Bidimensionales

Si ya conoces los arreglos unidimensionales, los arreglos bidimensionales te permitirán trabajar con datos organizados en filas y columnas, similar a una hoja de cálculo de Excel.

¿Qué es un Arreglo Bidimensional?

Un arreglo bidimensional es una estructura de datos que organiza la información en forma de tabla con:

  • Filas: Dimension vertical

  • Columnas: Dimension horizontal

🔧 Declaración de Arreglos Bidimensionales

Sintaxis Básica

cpp
tipoDato nombreArreglo[filas][columnas];

Ejemplo:

cpp
int multi[2][2];  // 2 filas y 2 columnas

Formas de Declaración e Inicialización

Método 1: Declaración e inicialización posterior

cpp
int multi[2][2];
multi[0][0] = 32;
multi[0][1] = 51;
multi[1][0] = 200;
multi[1][1] = 22;

Método 2: Declaración e inicialización simultánea

cpp
int multi[2][2] = {
  {32, 51},
  {200, 22}
};

🎯 Acceso a los Elementos del Arreglo

Analogía con Excel

ArduinoExcel Equivalente
multi[0][0]Fila 1, Columna A
multi[0][1]Fila 1, Columna B
multi[1][0]Fila 2, Columna A
multi[1][1]Fila 2, Columna B

Ejemplo Práctico de Asignación

cpp
// Acceso y asignación de valores
multi[0][0] = 32;   // Fila 0, Columna 0
multi[0][1] = 51;   // Fila 0, Columna 1
multi[1][0] = 200;  // Fila 1, Columna 0
multi[1][1] = 22;   // Fila 1, Columna 1

📊 Recuperación de Datos

Cómo Leer Valores del Arreglo

cpp
void setup() {
  Serial.begin(9600);
  
  int multi[2][2] = {
    {32, 51},
    {200, 22}
  };
  
  // Acceder a un valor específico
  int valor = multi[1][0];  // Obtiene el valor 200
  
  Serial.print("El valor en [1][0] es: ");
  Serial.println(valor);
}

void loop() {
  // Tu código principal aquí
}

🚀 Ejemplo Completo en Arduino

Código Final con Variables para Dimensiones

cpp
void setup() {
  Serial.begin(9600);
  
  // Usando variables para las dimensiones
  const int filas = 2;
  const int columnas = 2;
  
  int multi[filas][columnas] = {
    {32, 51},
    {200, 22}
  };
  
  // Acceder y mostrar valores
  Serial.println("=== VALORES DEL ARREGLO BIDIMENSIONAL ===");
  
  for(int i = 0; i < filas; i++) {
    for(int j = 0; j < columnas; j++) {
      Serial.print("multi[");
      Serial.print(i);
      Serial.print("][");
      Serial.print(j);
      Serial.print("] = ");
      Serial.println(multi[i][j]);
    }
  }
}

void loop() {
  // El código se ejecuta una vez en setup
}

💡 Consejos y Buenas Prácticas

  1. Usa constantes para definir dimensiones:

    cpp
    const int FILAS = 2;
    const int COLUMNAS = 3;
    int miArreglo[FILAS][COLUMNAS];
  2. Los índices siempre comienzan en 0

  3. Puedes anidar bucles para recorrer todo el arreglo:

    cpp
    for(int i = 0; i < filas; i++) {
      for(int j = 0; j < columnas; j++) {
        // Procesar multi[i][j]
      }
    }

🎓 Resumen

  • Los arreglos bidimensionales organizan datos en filas y columnas

  • La sintaxis es: tipo nombre[filas][columnas]

  • El acceso se realiza mediante dos índices: [fila][columna]

  • Son ideales para representar matrices, tablas y datos tabulares

  • Puedes usar variables para definir las dimensiones, facilitando modificaciones futuras

Comentarios

Entradas más populares de este blog

11. Ejemplos Básicos de Leds y Pulsadores

12. Demostracion de como usar Tinkercad para simular Arduino con circuitos

Tutorial: Controlar la Intensidad de un LED con Potenciómetro (PWM)