OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C. DESCRIBIR EL PROCESAMIENTO DE LOS ARREGLOS. CODIFICAR PROGRAMAS EN C UTILIZANDO LOS ARREGLOS.
ARREGLOS Unidimensionales . . . . . . . Vectores contenido nombre 1 2 1 2 3 identificador índice notas Tamaño 4 notas [3]
LA DECLARACIÓN DE ARRAY UNIDIMENSIONAL Se realiza según la siguiente sintaxis : tipo de las variables nombre[ cantidad de elementos] ; Por ejemplo : int var1[10] ; char nombre[50] ; float numeros[200] ; long double cantidades[25] ; float a[3]={2.45, -1.34, 2.11};
Indexación de arrays a a[0]=23; a[2]=a[0]+5; int a[6]; a[0] a[1] a[2] 28
Declaración e Inicialización Formato: tipo de dato nombre_arreglo[tamaño] Ejm: int notas[4]; 2 bytes * 4 = 8 bytes 1 2 3 char nombre[25]; int cantidad[10], totalest[5]; Declaración e Inicialización char vocal[5] = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’}; float pu[3] = {2.50, 3.75, 5.00};
Acceso a un arreglo unidimensional int notas[4] 1 2 3 notas 80 85 73 90 contenido + 1 + 1 + 1 i = i + 1 índice: i = 0 contador código for(i=0;i<4;i++) { manejo = operaciones } i = 0 i = i + 1 i < 4 si no
Manejo de vectores Lectura Pantalla Memoria notas 1 2 3 i 1 2 3 80 80 80 85 73 90 85 85 i 73 73 90 90 for(i=0;i<4;i++) scanf("%d",¬as[i]); Declaración int nota[4]; int i;
Proceso [operaciones) Calcular el promedio. Acumulador Contador 1 2 3 notas 80 85 73 90 80 165 328 238 1 2 3 4 suma i i suma = suma + notas[i] + 1 + 1 + 1 80 i = 0 i = i + 1 i < 4 si no suma = suma + notas[i] 165 for(i=0;i<4;i++) prom = suma / i ; suma += notas[i]; suma = 0; 238 328 prom 82
Impresión Memoria Pantalla 1 2 3 notas 80 85 73 90 i 85 80 + 1 73 90 1 2 3 notas 80 85 73 90 + 1 i 73 90 Las notas son: for(i=0;i<4;i++) printf(“%d \t”,notas[i]); puts(“Las notas son:\n”); Promedio: 82.00 printf(“\n\nPromedio:%.2f”, prom);
PROCESAMIENTO DE UN ARREGLO Se procesa elemento por elemento, mediante el uso de bucles. EJEMPLO: Bucle para almacenar los números del 0 al 9 en el arreglo x: ....... int x[10]; for (t=0; t<10; t++) x[t] = t; VISUALIZACION: for(i=0;i<10;i++) printf(“%d”,x[i]); 1 2 3 4 5 6 7 8 9 x t 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
#include <stdio.h> /* Calculo de la media de n números y la desviación */ main ( ) { int n, cont; float media, d, suma = 0; float lista[100]; /* leer el valor de n */ printf (“Entre la cantidad de números para calcular la media”); scanf (“%d”, &n); printf (“\n”); /* leer los números y calcular sumatoria */ for ( cont=0; cont<n; ++cont) { printf (“i= %d x=“, cont+1); scanf (“%f ”, &lista[cont]); suma += lista[cont]; } /* calcular la media y dar respuesta */ media = suma/n; printf (“\nLa media es %5.2f\n\n”, media); /* calcular la desviación y dar respuesta */ d = lista[cont] - media; printf (“i= %d x= %5.2f d= %5.2f\n”, cont+1, lista[cont], d);
Strings Los strings son los arrays de caracteres de una dimensión. Son las cadenas de caracteres. Definición: char n[6]=“Addys”; /*equivalente a char n[6]={’A’,’d’,’d’,’y’,’s’,’\0’}*/ A d d y s \0 n n[0] n[1] n[2] n[3] n[4] n[5] Carácter nulo