260 likes | 588 Views
MANEJO DE ARRAYS EN C. MENU DEL DIA. Introducción a los Arrays. Ejemplo Arrays. Aspectos claves sobre los arrays. Declaración de arrays en C. Inicialización de arrays durante la declaración. Acceso a los elementos de un array. Arreglos multidimensionales.
E N D
MENU DEL DIA • Introducción a los Arrays. • Ejemplo Arrays. • Aspectos claves sobre los arrays. • Declaración de arrays en C. • Inicialización de arrays durante la declaración. • Acceso a los elementos de un array. • Arreglos multidimensionales. • Inicialización de arreglos de dos dimensiones. • Inicialización de arreglos de tres dimensiones. • Uso de ciclos para barrer arreglos multidimensionales • Ejercicio. • Fin de la clase
INTRODUCCION A LOS ARRAYS Definición: • Un array es una colección de variables del mismo tipo de datos con un mismo nombre. • Los arrays son un ejemplo de una variable estructurada en la cual: • Hay un numero de piezas de datos contenidos en el mismo nombre. • Hay un método ordenado para la extracción de datos individuales del array
EJEMPLO ARRAYS Eso pa que? Problema: Supongamos el señor Burns le solicita a usted un programa que le permita llevar un registro de la identificación de cada uno de los empleados de la plata nuclear de Springfield, ¿Cómo lo haría? Solución 1: Crear una variable especifica por empleado en la cual se almacene la identificación de cada uno de los empleados.
EJEMPLO ARRAYS Problema solución anterior: El problema se vuelve mas difícil a medida que el numero de empleados aumenta, pues implicara la creación de mas variables individuales (id5, id6, …)
EJEMPLO ARRAYS Solución al problema anterior: En los arrays se encuentra la respuesta. Pues un array es como una caja para guardar elementos o como un archivador. Utiliza un sistema de indexación para encontrar el valor de cada una de las variables almacenadas en su interior.
ASPECTOS CLAVES SOBRE LOS ARRAYS • Notación: • Un array así como las variables ordinarias debe ser declarado antes de ser usado. • Cada pieza de dato en un array es llamada elemento. • La sintaxis para un elemento de un array a es a[i], donde i es llamado índice del elemento del array. idEmpleados es un arreglo de 100 elementos. . . .
INICIALIZACION DE ARRAYS DURANTE LA DECLARACION Antes de usar un array este debe ser declarado • Durante la declaración, localizaciones consecutivas de memoria son reservadas para el array y todos sus elementos. • Después de la declaración no se puede asumir que todos los elementos han sido inicializados a 0, los valores iníciales pueden ser basura. Sintaxis: n es el numero de elementos en el array
INICIALIZACION DE ARRAYS DURANTE LA DECLARACION • Como en la declaración de variables ordinarias, es posible inicializar arrays durante su declaración, lo cual se hace por medio de una lista de inicialización usando llaves ({}). • Algunas reglas al inicializar arrays • Si la lista de los elementos es mas corta que el numero de elementos del array, el resto de los elementos será inicializado a cero. • Si un array estático no es inicializado en la declaración manualmente, sus elementos son inicializados automáticamente a cero. • Si un array es declarado sin una especificación de tamaño, su tamaño es igual a la longitud de la lista de inicialización.
INICIALIZACION DE ARRAYS DURANTE LA DECLARACION • Algunas reglas al inicializar arrays (2) • Es posible inicializar un elemento especifico del array, para ello, dentro de la lista de inicialización se puede colocar el índice del elemento del array que se va inicializar entre corchetes ([]) seguido del operador de asignación (=) y del valor a asignar en dicha posición. • Si se define un array sin especificar su longitud array, usando dentro de la lista indexada un índice [i] el tamaño del array será i + 1.
ACCESO A LOS ELEMENTOS DE UN ARRAY • Reglas al acceder a los arrays • El operador [], proporciona una manera fácil de acceder a un elemento del array. Por ejemplo si se tiene un array llamado a y una variable entera llamada i, entonces la expresión a[i] designa el elemento del array con índice i. • Si un arreglo tiene N elementos, el valor del subíndice (lo que esta dentro del los corchetes) va desde 0 hasta N-1. Un error común en programación se suele dar cuando se toma como índice un valor no valido (out-of- bounds array indexing). Esto es legal pero puede dar un comportamiento impredecible.
ACCESO A LOS ELEMENTOS DE UN ARRAY LECTURA nombreVariable = nombreArray[indice] ESCRITURA nombreArray[indice] = valor
ACCESO A LOS ELEMENTOS DE UN ARRAY A menudo se emplean los ciclos para el acceso a los elementos de un array. Entre las aplicaciones están: inicialización y acceso (para lectura o escritura) a los arrays.
ACCESO A LOS ELEMENTOS DE UN ARRAY Ejemplos Escriba un programa que solicite al usuario el ingreso de un array de 5 elementos enteros y que despliegue luego su contenido. Escriba un programa que sume los elementos de un vector dado. Escriba un programa que busque el elemento mas grande de un array. Escriba un programa que dado un array genere otro en orden inverso. Escriba un programa que organice un array en orden ascendente y en orden descendente según el usuario lo solicite. Dado un el vector {1,5,6,7,8} escribir un programa que genere otro vector con la suma del contenido de todo los elementos anteriores al índice actual: {1,6,12,19,27}.
ACCESO A LOS ELEMENTOS DE UN ARRAY Escriba un programa que solicite al usuario el ingreso de un array de 5 elementos enteros y que despliegue luego su contenido.
ACCESO A LOS ELEMENTOS DE UN ARRAY Escriba un programa que sume los elementos de un vector dado.
ACCESO A LOS ELEMENTOS DE UN ARRAY Escriba un programa que busque el elemento mas grande de un array.
ACCESO A LOS ELEMENTOS DE UN ARRAY Escriba un programa que busque el elemento mas grande de un array.
ARREGLOS MULTIDIMENSIONALES • Los arreglos multidimensionales tienen dos o mas índices los cuales son usados para especificar un elemento particular en el array. • La declaración de un array multidimensional es similar a la de un array de una dimensión.
INICIALIZACION DE ARREGLOS DE DOS DIMENSIONES • Este procedimiento es totalmente análogo al usado para la inicialización de arreglos en una dimensión. • Inicialización del array elemento por elemento. • Como en el caso de los vectores, si hay mas pocos valores de inicialización que elementos del array, el resto será inicializado a 0 . • Esta es una forma alternativa que hace la inicialización mas clara.
INICIALIZACION DE ARREGLOS DE TRES DIMENSIONES • La inicialización para arreglos de tres dimensiones es similar, no olvidar que hay que tener en cuenta el índice adicional.
USO DE CICLOS PARA BARRER ARREGLOS MULTIDIMENSIONALES • Para poder barrer arreglos de mas de una dimensión se hace necesario el uso de ciclos anidados • Entre mas dimensiones tenga el array mas ciclos anidados abran. 3 1 3 3 2 1 1 2 2
EJERCICIO Los resultados de las ultimas elecciones a alcalde en el pueblo x han sido los siguientes: Escribir un programa que haga las siguientes tareas: Imprimir la tabla anterior con cabeceras incluidas. Calculas e imprimir el numero total de votos recibidos por cada candidato y el porcentaje total de votos emitidos. Así mismo, visualizar el candidato mas votado. Si algún candidato recibe mas del 50% de los votos, el programa imprimirá un mensaje declarándole ganador. Si algún candidato recibe menos del 50% de los votos, el programa debe imprimir el nombre de los dos candidatos mas votados que serán los que pasen a la segunda ronda de las elecciones.