MANEJO_DE_ARRAYS_EN_C

Download Report

Transcript MANEJO_DE_ARRAYS_EN_C

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.
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?
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?
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
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.
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-ofbounds 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
1. 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. Escriba un programa que organice un array
en orden ascendente y en orden
descendente según el usuario lo solicite.
6. 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 DOS
DIMENSIONES
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.
1
3
3
2
1
3
2
2
1
EJERCICIO
Los 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.
FIN DE LA CLASE