Sie sind auf Seite 1von 5

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Arreglos Unidimensionales
Nombre: Christian Eduardo Vzquez Colunga Matrcula: 1569938 Materia: Lenguaje ANSI C Catedrtico: Ing. Lilia Santos.

Arreglos Unidimensionales
Los arreglos que estudiaremos constituyen un tipo estructurado de datos. Los datos estructurados tienen varios componentes, cada uno de los cuales puede ser un tipo simple de dato o bien un tipo estructurado de dato, pero es importante recordar que los componentes del nivel ms bajo de un tipo estructurado siempre sern tipos simples de datos. Un arreglo es una coleccin finita, homognea y ordenada de elementos. Finita, porque todo arreglo tiene un lmite. Homognea porque todos los elementos del arreglo deben ser el mismo tipo. Ordenada, porque se puede determinar cul es el primer elemento, cul el segundo, y as sucesivamente. Un arreglo unidimensional permite almacenar N elementos del mismo tipo (enteros, reales, caracteres, cadenas de caracteres, etc.) y acceder a ellos por medio de un ndice, se distinguen los componentes y el ndice. Los componentes hacen referencia a los elementos que se almacenan en cada una de las celdas o casillas. El ndice, por su parte, especfica la forma de acceder a cada uno de estos. Declaraciones de arreglos unidimensionales Los arreglos ocupan espacio en memoria, que se reserva en el momento de realizar la declaracin del arreglo. Ejemplo: Void main (void) { Int A [10]; Float B [5]; } Una vez que se definen los arreglos, sus elementos pueden recibir los valores a travs de multiples asignaciones. Ejemplos: Int A[9] = {0} todos los componentes inician en 0. 0 A[0] 0 A[1] 0 A[2] 0 A[3] 0 A[4] 0 A[5] 0 A[6] 0 A[7] 0 A[8]

Nota: No asignar ms valores de lo que marca el arreglo. Ejemplo aplicando arreglos:


#include<stdio.h> #include<conio.h> main() { int ELE[5]={0}; int I,VOT; printf("Ingresa el primer voto (0-Para terminar):"); scanf("%d",&VOT); while(VOT) { if((VOT<0)&&(VOT<6))

ELE[VOT-1]++; else printf("El voto ingresado es incorrecto"); printf("Ingresa el siguiente voto(0 - para terminar)"); scanf("%d",&VOT); } printf("Resultados de la eleccion"); for(I=0;I<=4;I++) printf("El candidato %d:%d",I+1,ELE[1]); }

Apuntadores y arreglos
Un apuntador es una variable que contiene la direccin de otra variable y se representa por medio de los operadores de direccin (&) e indireccin (*). El primero proporciona la direccin de un objeto y el segundo permite el acceso al objeto del cual se tiene la direccin. Los apuntadores se utilizan mucho en el lenguaje de programacin C, debido principalmente a que en muchos casos representan la nica forma de expresar una operacin determinada. Existe una relacin muy estrecha entre apuntadores y arreglos. Un arreglo se pasa a una funcin indicando nicamente el nombre del arreglo, que representa el apuntador al mismo. Arreglos y Funciones En lenguaje de programacin C utiliza parmetros por referencia para para pasar los arreglos a las funciones. Cualquier modificacin que se realice a los arreglos en las funciones afecta su valor original. Ejemplo: Escribe un programa en C que calcule el producto de dos arreglos unidimensionales de tipo entero y almacene el resultado en otro arreglo unidimensional. Datos: VE1 [10], VE2 [10], VE3 [V10] (arreglos unidimensionales de tipo entero con capacidad para 10 elementos. En VE3 se almacena el resultado del producto de los vectores VE1y VE2). Programa:
#include<stdio.h> #include<conio.h> Const int max=10; Void lectura (int VEC [ ], Int T); Void Imprime (int VEC [ ], int T); Void producto (int *X, int *Y, int *Z, int *T); VEC [ ] Void main (void) { Int VE1 [MAX], VE2 [MAX], VE3 [MAX]; lectura (VE1,MAX); lectura (VE2,MAX);

Producto (VE1, VE2, VE3, MAX); Printf(EL producto de los vectores); Imprime (VE3,MAX); } Void lectura(int VEC [ ], int T); { Int I; Printf(\n); For(I=0;I<T;I++) { Printf(Ingrese el elemento %d:,I+1); Scanf(%d, &VEC *I+); } }

Void (Imprime int VEC [ ], int T); Int I; { For(I=0;I<T;I++) Printf (\nVEC * %d +: %d, I+1); Void Producto (int *X, int *Y, int *Z, int T) { Int I; For(I=0; I<T;I++) Z [1] =X[I] *Y[I]; }

Das könnte Ihnen auch gefallen