manejo de arrays en c. menu del dia introducción a los arrays. ejemplo arrays. aspectos claves...

25
MANEJO DE ARRAYS EN C

Upload: antonio-rojo

Post on 03-Feb-2015

71 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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

MANEJO DE ARRAYS EN C

Page 2: 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

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

Page 3: 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

INTRODUCCION A LOS ARRAYSDefinició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

Page 4: 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

EJEMPLO ARRAYS

Eso pa que?

Solución 1:Crear una variable especifica por empleado en la cual se almacene la identificación de cada uno de los empleados.

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?

Page 5: 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

EJEMPLO ARRAYSProblema 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, …)

Page 6: 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

EJEMPLO ARRAYSSolució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.

Page 7: 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

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.

. . .

Page 8: 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

INICIALIZACION DE ARRAYS DURANTE LA DECLARACION

Antes de usar un array este debe ser declarado

Sintaxis:

n es el numero de elementos en el array

• 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.

Page 9: 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

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.

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

ACCESO A LOS ELEMENTOS DE UN ARRAY

LECTURA

nombreVariable = nombreArray[indice]

ESCRITURA

nombreArray[indice] = valor

Page 13: 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

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.

Page 14: 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

ACCESO A LOS ELEMENTOS DE UN ARRAY

Ejemplos1.Escriba un programa que solicite al usuario el ingreso de un array de 5 elementos enteros y que despliegue luego su contenido. 2.Escriba un programa que sume los elementos de un vector dado.3.Escriba un programa que busque el elemento mas grande de un array.4.Escriba un programa que dado un array genere otro en orden inverso.5.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}.

Page 15: 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

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.

Page 16: 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

ACCESO A LOS ELEMENTOS DE UN ARRAY

Escriba un programa que sume los elementos de un vector dado.

Page 17: 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

ACCESO A LOS ELEMENTOS DE UN ARRAY

Escriba un programa que busque el elemento mas grande de un array.

Page 18: 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

ACCESO A LOS ELEMENTOS DE UN ARRAY

Escriba un programa que busque el elemento mas grande de un array.

Page 19: 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

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.

Page 20: 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

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.

Page 21: 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

INICIALIZACION DE ARREGLOS DE DOS DIMENSIONES

Page 22: 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

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.

Page 23: 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

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.

1

1

1

2

2 2

3 3

3

Page 24: 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

EJERCICIOLos resultados de las ultimas elecciones a alcalde en el pueblo x han sido los siguientes:

Distrito Candidato A Candidato B Candidato C Candidato D

1 194 48 206 45

2 180 20 320 16

3 221 90 140 20

4 432 51 821 14

5 820 61 946 18

Escribir un programa que haga las siguientes tareas:a.Imprimir la tabla anterior con cabeceras incluidas.b.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.c.Si algún candidato recibe mas del 50% de los votos, el programa imprimirá un mensaje declarándole ganador.d.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.

Page 25: 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

FIN DE LA CLASE