💩

programierds

c / operaciones / arreglos

Operaciones con arreglos

Acá no vamos a repetir solo definiciones. Vas a ver, de forma visual, cómo un arreglo se recorre, cómo se busca un valor y cómo se inserta un nuevo elemento moviendo posiciones. La idea es que entiendas QUÉ hace el programa y por qué lo hace.

Recorridovisitar posición por posición
Búsquedaencontrar un valor dentro del arreglo
Inserciónhacer lugar y agregar un dato
Visual general: un arreglo es una secuencia ordenada de posiciones
[0]10
[1]20
[2]30
[3]40
[4]50
Misma estructura

Siempre es el mismo arreglo. Lo que cambia es la operación que hacemos sobre él.

Mismo índice

La variable índice nos dice en qué posición estamos trabajando.

Mismo orden

Casi todas las operaciones empiezan recorriendo desde el principio hacia el final.

1. Recorrer un arreglo

Recorrer significa visitar todos los elementos uno por uno. Es la operación base: sin recorrido no podés mostrar, sumar, comparar ni buscar.

Simulación paso a paso del recorrido
int numeros[5] = {10, 20, 30, 40, 50}; int i; for (i = 0; i < 5; i = i + 1) {   printf("Posicion %d -> %d\n", i, numeros[i]); }
Paso 1: Se declara el arreglo con 5 valores.
Paso 1 / 7
Estado actual
[0]10
[1]20
[2]30
[3]40
[4]50
i actual-
valor leído-
./recorridostdout
Idea importante: en un recorrido no "salteás mágicamente" al dato. El programa pasa por cada posición usando el índice i.

2. Buscar un valor dentro del arreglo

Buscar significa comparar el valor buscado con cada elemento del arreglo hasta encontrar coincidencia o hasta terminar el recorrido.

Simulación de búsqueda secuencial
int numeros[6] = {8, 14, 21, 14, 35, 42}; int buscado = 14; int posicion = -1; for (i = 0; i < 6; i = i + 1) {   if (numeros[i] == buscado) {     posicion = i;     break;   } }
Paso 1: Se prepara el arreglo y el valor que queremos encontrar.
Paso 1 / 6
Visual de comparación
[0]8
[1]14
[2]21
[3]14
[4]35
[5]42
buscado14
i actual-
posición encontrada-1
Usamos -1 porque ninguna posición válida del arreglo puede ser negativa. Entonces -1 significa "todavía no encontré nada".

3. Insertar un valor en el medio

Insertar no es simplemente "poner un valor". Si la posición ya está ocupada, primero hay que desplazar elementos hacia la derecha para hacer lugar.

Simulación de inserción con desplazamiento
int numeros[6] = {10, 20, 40, 50}; int cantidad = 4; int posicion = 2; int nuevo = 30; for (i = cantidad; i > posicion; i = i - 1) {   numeros[i] = numeros[i - 1]; } numeros[posicion] = nuevo; cantidad = cantidad + 1;
Paso 1: Tenemos espacio para 6 elementos, pero el arreglo está usando 4.
Paso 1 / 7
Visual del desplazamiento
[0]10
[1]20
[2]40
[3]50
[4]-
[5]-
cantidad actual4
posición de inserción2
nuevo valor30
Error típico: mover desde la izquierda hacia la derecha. Eso pisa valores. Para insertar en el medio, el desplazamiento se hace desde el final hacia la posición de inserción.

4. Qué te tenés que llevar

Recorrer

Es pasar por cada posición usando un índice. Sin eso no hay procesamiento real del arreglo.

Buscar

Es comparar uno por uno hasta encontrar el dato o terminar el recorrido.

Insertar

Es hacer lugar y recién después guardar el nuevo valor.