💩

programierds

c / arreglos / matrices

Arreglos unidimensionales y multidimensionales en C

Esta presentación está pensada para alguien que recién empieza. Vamos desde el problema de tener muchas variables sueltas hasta entender por qué un arreglo organiza mejor los datos y cómo una matriz agrega filas y columnas.

1 nombremuchos datos del mismo tipo
índice 0siempre se arranca desde cero
2 índicesfila y columna en matrices
Memoria conceptual de un arreglo: int notas[5] = {8, 9, 6, 10, 7};
notas[0]
8
notas[1]
9
notas[2]
6
notas[3]
10
notas[4]
7

1. ¿Por qué existen los arreglos?

Porque tener muchas variables separadas es un caos. Un arreglo te permite guardar varios valores del mismo tipo bajo un mismo nombre y acceder a cada uno usando su posición.

Mal enfoque cuando hay muchos datos

int nota1;
int nota2;
int nota3;
int nota4;
int nota5;

Esto se vuelve repetitivo, difícil de mantener y después cuesta muchísimo recorrer o procesar la información.

Mejor enfoque con arreglo

int notas[5];
  • Un solo nombre: notas.
  • Todos los elementos son del mismo tipo.
  • Cada valor vive en una posición: notas[0], notas[1], etc.

2. Arreglo unidimensional: una fila de casilleros

Un arreglo unidimensional se puede pensar como una sola fila. Tiene varias posiciones, pero una sola dimensión. Lo importante es entender que el índice arranca en <strong>0</strong>.

int numeros[5] = {10, 20, 30, 40, 50};

printf("%d\n", numeros[0]);
printf("%d\n", numeros[2]);
  • numeros[0] vale 10.
  • numeros[2] vale 30.
  • Si el arreglo tiene 5 elementos, el último índice válido es 4.

Idea mental correcta

0
10
1
20
2
30
3
40
4
50

No pienses "5 valores → último índice 5". Eso es un error clásico. Pensá así: <strong>cantidad = 5</strong>, <strong>último índice = 4</strong>.

3. Paso a paso: cargar y leer un arreglo

Acá podés ver cómo se llena un arreglo con un ciclo. Fijate que no escribimos una línea por cada posición: dejamos que el índice haga el trabajo repetitivo.

Código guiado Línea activa: 1
int numeros[3];
int i;
for (i = 0; i < 3; i = i + 1) {
  numeros[i] = i + 1;
}
printf("%d %d %d\n", numeros[0], numeros[1], numeros[2]);
Paso 1: Se reserva espacio para 3 enteros.
Paso 1 / 6

Estado del arreglo

numeros[0]
-
numeros[1]
-
numeros[2]
-
./arreglo-demostdout

4. Arreglo bidimensional: una tabla con filas y columnas

Cuando ya no alcanza con una sola fila, aparece la matriz. Una matriz es un arreglo con dos dimensiones. Para acceder a sus datos necesitás dos índices: uno para la fila y otro para la columna.

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

printf("%d\n", matriz[1][2]);

Ese acceso devuelve <strong>6</strong>, porque fila 1 es la segunda fila y columna 2 es la tercera columna.

Visualización de la matriz

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

Pensala como una tabla: primero elegís la fila, después la columna. Si mezclás ese orden, te perdés.

5. ¿Cuándo usar un arreglo y cuándo una matriz?

Arreglo simple

  • Lista de edades.
  • Notas de un alumno.
  • Temperaturas de una semana.

Matriz

  • Notas de varios alumnos en varias materias.
  • Tablero de juego.
  • Asientos en filas y columnas.

Regla simple

Si los datos se pueden imaginar como una sola lista, usás un arreglo unidimensional. Si los datos se organizan como una tabla, usás una matriz.

6. Errores típicos de principiante

Error 1: pensar que si un arreglo tiene 5 elementos, el último índice es 5. NO. El último índice es 4.
Error 2: usar una posición que no existe, por ejemplo numeros[5] en un arreglo de 5 elementos.
Error 3: creer que una matriz se accede con un solo índice. Necesitás dos: fila y columna.
Error 4: no entender que todos los elementos del arreglo deben ser del mismo tipo.

7. Idea final

Un arreglo en C no es solo "muchos datos juntos". Es una forma ordenada de representar información relacionada. Cuando entendés que cada dato tiene una posición y que esa posición se accede por índice, empezás a pensar mejor los problemas.

Y cuando aparece una segunda dimensión, la idea no cambia: simplemente pasás de una lista a una tabla. Nada de magia. Solo organización de datos.

Qué deberías llevarte

  • Un arreglo guarda varios datos del mismo tipo.
  • El índice arranca en 0.
  • Una matriz usa fila y columna.
  • Sin entender índices, después todo se complica.