2. Objetivos de la Clase Aprender la definición de un arreglo. Saber la forma de declarar los arreglo en el lenguaje C. Comprender el uso de los arreglos y sus aplicaciones. Aplicar los conocimientos adquiridos en ejercicios prácticos.
3. Definición: Un arreglo (array) es una colección de datos del mismo tipo que se referencian por un mismo nombre, cuyos datos llamados “elementos” se distinguen entre sí con índices. elemento 0 elemento 1 Arreglos unidimensionales elemento n-1
4. Problema sin arreglos Pero ¿qué quiere decir esto y para qué lo queremos?. Pues bien, supongamos que somos un metereólogo y queremos guardar en el ordenador la temperatura que ha hecho cada hora del dia. Para darle cierta utilidad al final calcularemos la media de las temperaturas. Con lo que sabemos hasta ahora sería algo así:
5.
6.
7. A continuación se declara un arraypagocon 8elementos de tipo int: intpago [8] ; Otros Ejemplos float notas[17]; char letras[28]; double precios[20]; Ejemplos de Declaración
9. Para acceder a cada uno de los elementos debemos usar índices. El primer valor de los índices comienza siempre por cero. Entonces, los elementos del arraypago serían Acceso a Elementos pago[1] pago[2] pago[3] pago[4] pago[5] pago[6] pago[7] pago[0] pago: 12 18 102 1 172 30 5 7
10. Ejemplo 1 #include <stdio.h> intmain() { int pago[6], suma; printf("la siguiente sentencia asigna pago[0]=10 "); pago[0]=10; printf("la siguientes sentencia imprime el valor del elemento[0]: "); printf("pago [0] es = %d",pago[0]); printf("la siguiente sentencia asigna pago[5]=75: "); pago[5]=75; printf("la siguientes sentencia imprime la suma de los 2 valores: "); suma=pago[0]+pago[5]; printf("la suma de pago[0]+pago[5] = %d",suma); }
11. Ejemplo 2 #include <stdio.h> voidmain() { int pago[6], indice; for (indice=0;indice<6;indice++) { printf ("Ingresar elemento con indice[%d] ",indice); scanf("%d",&pago[indice]); } for (indice=0;indice<6;indice++) { printf ("Elemento [%d]= %d ",indice,pago[indice]); } }
12. Los arrays se inicilaizan en el momento de declararlos. La forma general de inicilizar un array es similar a las de otras variables así. tiponombre[tamaño]={ lista_valores}; Ejemplo para inicializar la variable pagos int pagos[6]={2,50,60,70,9,12}; Inicialización de Arrays
13. #include <stdio.h> voidmain() { printf("Inicializa el arreglo pagos con 12,1,5,7,8,50"); int pago[6]={12, 1, 5, 7 , 8, 50}; printf("Los valores de pagos son: "); for (intindice=0;indice<6;indice++) { printf ("Elemento [%d]= %d ",indice,pago[indice]); } } Ejemplo 3
14. Punteros a arrays Los punteros y los arreglos están íntimamente relacionados. Para que un puntero apunte a un array se puede hacer de dos formas: Una es apuntando al primer elemento del array.
15. El puntero apunta a la dirección del primer elemento. Otra forma equivalente, pero mucho más usada es: Con esto también apuntamos al primer elemento del array porque el nombre de un arreglo es también un puntero que apunta al primer elemento. Nota: el puntero tiene que ser del mismo tipo que el array (en este caso int).