arreglos

16
Arreglos Ing. Paulo Guerra Sistemas 12/04/2010

Upload: paulo-guerra-teran

Post on 13-Jun-2015

7.474 views

Category:

Education


0 download

DESCRIPTION

Presentacion de arreglos unidimensionales en en lenguaje C

TRANSCRIPT

Page 1: Arreglos

ArreglosIng. Paulo Guerra

Sistemas12/04/2010

Page 2: Arreglos

Objetivos de la ClaseAprender 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.

Page 3: Arreglos

Arreglos unidimensionales

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 elemento n-1

Page 4: Arreglos

Problema sin arreglosPero ¿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í:

Page 5: Arreglos
Page 6: Arreglos

Arreglos unidimensionales• Antes de poder usar un arreglo debemos

declararlo mediante la forma general:

Donde:tipo, declara el tipo de cada elemento del mismo. nombre_variable, es el nombre del array.tamaño, indica el número de elementos que tendrá el

array.

tipo nombre_variable[tamaño];

Page 7: Arreglos

A continuación se declara un array pago con 8 elementos de tipo int:

int pago [8] ;Otros Ejemplosfloat notas[17]; char letras[28]; double precios[20];

Ejemplos de Declaración

Page 8: Arreglos

Solución de temperaturas con Arrays

Page 9: Arreglos

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 array pago serían

Acceso a Elementos

12 18 102 1 172 30 5 7pago:

pago[1]

pago[2]

pago[3]

pago[4]

pago[5]

pago[6]

pago[7]

pago[0]

Page 10: Arreglos

#include <stdio.h>int main(){ int pago[6], suma;

printf("la siguiente sentencia asigna pago[0]=10 \n");pago[0]=10;printf("la siguientes sentencia imprime el valor del elemento[0]: \n");printf("pago [0] es = %d",pago[0]);

printf("\nla siguiente sentencia asigna pago[5]=75: \n");pago[5]=75;printf("la siguientes sentencia imprime la suma de los 2 valores: \n");

suma=pago[0]+pago[5];printf("la suma de pago[0]+pago[5] = %d",suma);

}

Ejemplo 1

Page 11: Arreglos

#include <stdio.h>void main(){ 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 ("\nElemento [%d]= %d ",indice,pago[indice]);

}}

Ejemplo 2

Page 12: Arreglos

Los arrays se inicilaizan en el momento de declararlos.

La forma general de inicilizar un array es similar a las de otras variables así. tipo nombre[tamaño]={ lista_valores};

Ejemplo para inicializar la variable pagos int pagos[6]={2,50,60,70,9,12};

Inicialización de Arrays

Page 13: Arreglos

#include <stdio.h> void main() {

printf("Inicializa el arreglo pagos con 12,1,5,7,8,50"); int pago[6]={12, 1, 5, 7 , 8, 50};

printf("\nLos valores de pagos son: "); for (int indice=0;indice<6;indice++) { printf ("\nElemento [%d]= %d ",indice,pago[indice]); } }

Ejemplo 3

Page 14: Arreglos

Punteros a arraysLos punteros y los arreglos están

íntimamente relacionados.Para que un puntero apunte a un array se

puede hacer de dos formas:1. Una es apuntando al primer elemento del

array.

Page 15: Arreglos

2. 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).