1. ARREGLOS o ARRAYS
Un arreglo como un conjunto de datos de un mismo tipo (numérico o alfanumérico) que se
referencian utilizando un nombre común; esto significa que, se les asigna un nombre para
identificar así al conjunto total de valores. A cada dato partícipe del arreglo se le denomina
elemento.
La numeraciónde loselementosse denominaíndice o subíndice de un array y solo determina
la posición del elemento dentro del array y no su valor o contenido; entonces decimos que
para acceder a cada elemento de un array se usan índices.
TIPOS DE ARREGLOS
ARREGLO UNIDIMENSIONAL O VECTOR: Es un conjunto de celdas, ordenadas en fila, en las
que se depositandatosde mismo tipo.Un arreglo unidimensional es un conjunto de datos
organizados en forma de lista.
Los valores que se muestran en el siguiente ejemplo pueden considerarse como
elementos de un arreglo unidimensional o vector:
21, 14, 15, 80, 17, 25, 30
Si a este conjunto (lista) de edades se le coloca un nombre como EDADES, se puede
hacer referencia a cualquier elemento del vector agregando un número encerrado entre
paréntesis rectos o corchetes [ ], al que se le denomina índice, el cual indica la posición que
ocupa dentro del vector un determinado elemento.
EDADES 21 14 15 80 17 25 30
Índice 0 1 2 3 4 5 6
Otro ejemplo:
Sueldo 150,00 500,00 354,50 500,00 840,00 600,00
k 0 1 2 3 4 5
A este vector le llamaremos SUELDOS, y la referencia a sus elementos sería de la siguiente
manera:
Sueldo[0] =150,00
Sueldo[1] =500,00
...
Sueldo[5] =600,00
Los índiceso subíndicespuedenrepresentarse pormediode unavariable,númerooexpresión
matemática. Los subíndices debenservaloresenterosypositivos.
Ejemplo:
Sueldo[K]
Sueldo[1]
Sueldo[K+1]
Los elementos de un vector pueden ser operados, comparados, modificados, ingresados y
mostrados, como si fueran variables.
Ejemplo:
S = Sueldo[1] + 500
Sueldo[3] = 500
Si Sueldo[2] > 300,00
Leer Sueldo[X]
Mostrar Sueldo[X]
DECLARACIÓN DE VECTORES
El formato para declarar un array unidimensional en lenguaje C es:
tipo nombre[n];
donde: n >= 1
Para acceder a un elemento del array: nombre[i]; donde: 0 <= i < n
2. Por ejemplo, la declaración:
int A[4];
Define unarrayde tipoenterode dimensión4.Y ya podríamos acceder al primer componente
del array por medio de: A[0], al segundo elemento por: A[1] y al último elemento por A[3].
En C, un array se utilizabásicamente cuando queremos tener, por ejemplo, una secuencia de
números reunidos en una sola variable.
INICIALIZAR UN ARRAY
Para inicializar un array, podemos hacer lo siguiente:
for (i = 0; i< 4; i++)
A[i] = i;
Otra manera de inicializar un array es asignándole los valores iniciales entre llaves de la
siguiente: int A[4] = {0, 1, 2, 3}; Si no se inicializa explícitamente el array no se puede estar
segurodel valorque contienenloselementos del mismo. Por lo general se inicializa un array
sin conocer su contenido asignando valores nulos, para los datos numéricos el 0.
for (i = 0; i< 4; i++)
A[i] = 0;
ASIGNACIÓNDE VALORES A UN ARRAY
Una manera de operarcon arrays es asignandovaloresconstantes.
Ejemplo:
intdigitos[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
char letras[5] = "ABCD",
char letras[5] = {'A','B', 'C', 'D', 0};
En este ejemplose debeincluirexplícitamenteel carácternulo. Un stringesun array de
caracteresque finalizaconel carácter nulo,yun carácter es el valorde un byte.
ARREGLO BIDIMENSIONAL O MATRIZ
NOTAS
Índice j (columnas)
0 1 2
Índice i (filas)
0 6.5 7 8.5
1 10 10 9
2 9 8 9.5
Un array en C puede tener una, dos o más dimensiones. Por ejemplo, un array de dos
dimensionestambiéndenominadomatriz,esinterpretadocomounarray (umidimensional) de
dimensión "f" (número de filas), donde cada componente es un array (unidimensional) de
dimensión "c" (número de columnas).
Un array de dos dimensiones, contiene, pues, "f *c " componentes.
DECLARACIÓN DE UNAMATRIZ
El formatopara declararun array multidimensional:
intnombre[f][c]…;
donde:f,c... >= 1;
Para accedera unelementodel arraymultidimensional:
nombre[i][j]; donde:0<= i < f ; 0 <= j < c;
Ejemplo:
intvalor[3] [4];
/* arreglode 3 filasy 4 columnas*/
intvalor[3] [4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
intvalor[3] [4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};