1
 Un arreglo es un grupo de posiciones en
memoria relacionadas entre sí, por el hecho
de que todas son del mismo tipo y con el
mismo nombre.
 Para referirse a un elemento de un arreglo,
se especifica el nombre del arreglo y el
número de la posición del elemento
particular en el arreglo.
 La posición inicial de un arreglo es 0.
2
 Supongamos que tenemos un arreglo de
enteros de 10 elementos que se llama x:
3
8 x[0]
-6 x[1]
54 x[2]
0 x[3]
4 x[4]
33 x[5]
-8 x[6]
30 x[7]
41 x[8]
-154 x[9]
 El primer elemento del arreglo x se
conoce como x[0], el segundo como
x[1], el octavo como x[7] y así
sucesivamente.
 El número de posiciones que aparece
dentro de los corchetes [] se conoce
más formalmente como subíndice.
 Los subíndices siempre tienen que
ser números enteros no negativos.
 En el arreglo x de la diapositiva anterior el
valor correspondiente a la posición 4, por
ejemplo, es 4; y el cuarto elemento del
arreglo x es 0.
 Un subíndice también puede ser una
expresión entera, por ejemplo, si a = 2 y b =
3, entonces x[a+b] = x[5] = 33.
4
 Si se quisiera obtener, por ejemplo, la suma
del primero, segundo y tercer elementos del
arreglo x se plantea lo siguiente:
suma = x[0] + x[1] + x[2];
 Los corchetes utilizados para encerrar los
subíndices de los arreglos son operadores, y
tienen el mismo orden de precedencia que
los paréntesis.
5
 Primeramente se especifica el tipo de dato
que va a almacenar el arreglo, luego el
nombre del arreglo y entre corchetes se
especifica la cantidad de elementos que va a
almacenar el arreglo. Por ejemplo, si se
quiere tener un arreglo de 15 números
reales se declara lo siguiente:
double real[15];
6
 La inicialización de arreglos se puede realizar
en la misma declaración o después de la
declaración.
 Si se quiere inicializar en la misma declaración
se puede expresar lo siguiente:
int n[5] = {1,1,2,3,5}; >>>> caso 1
ó
int n[] = {1,1,2,3,5}; >>>> caso 2
ó
int n[5] = {0}; >>>> caso 3
7
 En el caso 1 se han inicializado los
elementos del arreglo a diferentes valores,
por ejemplo, el elemento n[4] = 5.
 Si el arreglo tiene n elementos y en la
inicialización se incluyen m elementos, esto
generaría un error de sintaxis. Un ejemplo
de esto es:
n[5] = {1,1,2,3,5,8};
8
 Como se pudo ver en el caso 2 no se
especifica la cantidad de elementos que
tiene el arreglo, puesto que cuando se utiliza
este caso, solamente basta con inicializar
los elementos, y en dependencia de la
cantidad de inicializaciones que se realicen
será entonces el tamaño del arreglo.
 De esta forma se evita tener errores de
sintaxis a la hora de inicializarlos.
9
 En el caso 3 sí se especifica la cantidad de
elementos del arreglo, sin embargo
solamente se hace una sola inicialización
que es int n[5] = {0}. Esto significa que los
cinco elementos del arreglo se inicializarán
en 0.
 De igual forma se puede inicializar a otros
valores, solamente cambiando el 0 por el
valor que se desee inicializar.
10
 Para expresar los subíndices de los arreglos
podemos usar también la directiva #define.
 El uso de constantes simbólicas para
especificar el tamaño del arreglo hacen que
los programas sean más dimensionables.
11
 Un arreglo de caracteres puede almacenar
una cadena como por ejemplo “Hola”. Hola
es un arreglo de caracteres donde el primer
elemento del arreglo es ‘H’ el penúltimo es
‘a’ y el último caracter es ‘0’.
 Todos los arreglos de caracteres terminan
con el caracter nulo ‘0’.
12
 Un arreglo de caracter puede ser inicializado de
dos formas diferentes:
char string1[] = “Hola”;
ó
char string2[] = {‘H’,’o’,’l’,’a’,’0’};
 Los arreglos de caracteres no necesariamente
tienen que ser inicializados. En su declaración
se utiliza la misma forma que cualquier tipo de
arreglo. Por ejemplo: char string[30]; significa
que almacenará una cadena de 29 caracteres y
un caracter nulo.
13
 Los arreglos multidimensionales son
arreglos que tienen múltiples subíndices.
 Son usados generalmente para representar
tablas y matrices.
 Para representar tablas se debe especificar
el subíndice de las filas y el de la columna,
por lo que el arreglo sería bidimensional, al
igual que si se quiere una matriz de nxm
también sería necesario un arreglo
bidimensional.
14
 Un arreglo de múltiple subíndice puede ser
inicializado en su declaración de forma similar a
un arreglo de un subíndice.
 Por ejemplo, un arreglo de doble subíndice
puede ser inicializado de la siguiente manera:
int a[2][2] = {{1,2},{3,4}};
 Si para un renglón o fila dada no se especifican
suficientes inicializadores, los elementos
restantes de dicho renglón se inicializarán a 0.
15
16
Recuerda visitar mi sitio de programación:
programacion82.webnode.es
Y además contactarme por:
happiest0594@gmail.com
o
alejandro.hernandez@estudiantes.uo.edu.cu
Teléfono: (+53) 553 313 76

Tema 2 arreglos

  • 1.
  • 2.
     Un arregloes un grupo de posiciones en memoria relacionadas entre sí, por el hecho de que todas son del mismo tipo y con el mismo nombre.  Para referirse a un elemento de un arreglo, se especifica el nombre del arreglo y el número de la posición del elemento particular en el arreglo.  La posición inicial de un arreglo es 0. 2
  • 3.
     Supongamos quetenemos un arreglo de enteros de 10 elementos que se llama x: 3 8 x[0] -6 x[1] 54 x[2] 0 x[3] 4 x[4] 33 x[5] -8 x[6] 30 x[7] 41 x[8] -154 x[9]  El primer elemento del arreglo x se conoce como x[0], el segundo como x[1], el octavo como x[7] y así sucesivamente.  El número de posiciones que aparece dentro de los corchetes [] se conoce más formalmente como subíndice.  Los subíndices siempre tienen que ser números enteros no negativos.
  • 4.
     En elarreglo x de la diapositiva anterior el valor correspondiente a la posición 4, por ejemplo, es 4; y el cuarto elemento del arreglo x es 0.  Un subíndice también puede ser una expresión entera, por ejemplo, si a = 2 y b = 3, entonces x[a+b] = x[5] = 33. 4
  • 5.
     Si sequisiera obtener, por ejemplo, la suma del primero, segundo y tercer elementos del arreglo x se plantea lo siguiente: suma = x[0] + x[1] + x[2];  Los corchetes utilizados para encerrar los subíndices de los arreglos son operadores, y tienen el mismo orden de precedencia que los paréntesis. 5
  • 6.
     Primeramente seespecifica el tipo de dato que va a almacenar el arreglo, luego el nombre del arreglo y entre corchetes se especifica la cantidad de elementos que va a almacenar el arreglo. Por ejemplo, si se quiere tener un arreglo de 15 números reales se declara lo siguiente: double real[15]; 6
  • 7.
     La inicializaciónde arreglos se puede realizar en la misma declaración o después de la declaración.  Si se quiere inicializar en la misma declaración se puede expresar lo siguiente: int n[5] = {1,1,2,3,5}; >>>> caso 1 ó int n[] = {1,1,2,3,5}; >>>> caso 2 ó int n[5] = {0}; >>>> caso 3 7
  • 8.
     En elcaso 1 se han inicializado los elementos del arreglo a diferentes valores, por ejemplo, el elemento n[4] = 5.  Si el arreglo tiene n elementos y en la inicialización se incluyen m elementos, esto generaría un error de sintaxis. Un ejemplo de esto es: n[5] = {1,1,2,3,5,8}; 8
  • 9.
     Como sepudo ver en el caso 2 no se especifica la cantidad de elementos que tiene el arreglo, puesto que cuando se utiliza este caso, solamente basta con inicializar los elementos, y en dependencia de la cantidad de inicializaciones que se realicen será entonces el tamaño del arreglo.  De esta forma se evita tener errores de sintaxis a la hora de inicializarlos. 9
  • 10.
     En elcaso 3 sí se especifica la cantidad de elementos del arreglo, sin embargo solamente se hace una sola inicialización que es int n[5] = {0}. Esto significa que los cinco elementos del arreglo se inicializarán en 0.  De igual forma se puede inicializar a otros valores, solamente cambiando el 0 por el valor que se desee inicializar. 10
  • 11.
     Para expresarlos subíndices de los arreglos podemos usar también la directiva #define.  El uso de constantes simbólicas para especificar el tamaño del arreglo hacen que los programas sean más dimensionables. 11
  • 12.
     Un arreglode caracteres puede almacenar una cadena como por ejemplo “Hola”. Hola es un arreglo de caracteres donde el primer elemento del arreglo es ‘H’ el penúltimo es ‘a’ y el último caracter es ‘0’.  Todos los arreglos de caracteres terminan con el caracter nulo ‘0’. 12
  • 13.
     Un arreglode caracter puede ser inicializado de dos formas diferentes: char string1[] = “Hola”; ó char string2[] = {‘H’,’o’,’l’,’a’,’0’};  Los arreglos de caracteres no necesariamente tienen que ser inicializados. En su declaración se utiliza la misma forma que cualquier tipo de arreglo. Por ejemplo: char string[30]; significa que almacenará una cadena de 29 caracteres y un caracter nulo. 13
  • 14.
     Los arreglosmultidimensionales son arreglos que tienen múltiples subíndices.  Son usados generalmente para representar tablas y matrices.  Para representar tablas se debe especificar el subíndice de las filas y el de la columna, por lo que el arreglo sería bidimensional, al igual que si se quiere una matriz de nxm también sería necesario un arreglo bidimensional. 14
  • 15.
     Un arreglode múltiple subíndice puede ser inicializado en su declaración de forma similar a un arreglo de un subíndice.  Por ejemplo, un arreglo de doble subíndice puede ser inicializado de la siguiente manera: int a[2][2] = {{1,2},{3,4}};  Si para un renglón o fila dada no se especifican suficientes inicializadores, los elementos restantes de dicho renglón se inicializarán a 0. 15
  • 16.
    16 Recuerda visitar misitio de programación: programacion82.webnode.es Y además contactarme por: happiest0594@gmail.com o alejandro.hernandez@estudiantes.uo.edu.cu Teléfono: (+53) 553 313 76