Declaración de arreglos unidimensionales
carlosootTutorial26 de Mayo de 2014
2.329 Palabras (10 Páginas)479 Visitas
1. INTRODUCCIÓN
Un arreglo se define como un grupo de datos homogéneos, ordenados y finitos. Homogéneos porque todos los datos almacenados en el arreglo deben ser del mismo tipo, ordenados porque se encuentran en posiciones consecutivas de memoria y finitos porque siempre debe de ser una cantidad de elementos predefinidos desde un principio. Por esta última razón éstos también se definen como estructuras estáticas.
Los arreglos se dividen en arreglos unidimensionales (también conocidos como vectores) y multidimensionales dentro de los cuales los que más manejaremos en el curso serán los de dos dimensiones (también conocidos como tablas o matrices).
Los datos contenidos en un arreglo pueden ser cualquiera de los tipos de datos que conocemos en C (char, float, int, etc.). Cada uno de los datos contenidos en el arreglo se conoce como elemento del arreglo y la posición que éste ocupa se maneja como subíndice, éstos son consecutivos y siempre inician con la posición 0.
2. OBJETIVO (COMPETENCIA)
Aplicar la estructura de arreglos unidimensionales, elaborando programas iterativos, para la solución de problemas reales en el área de ingeniería. Con disposición para trabajar en forma individual y responsabilidad en el uso del equipo de cómputo del laboratorio.
Formuló
Hilda Olivia Albarrán Padilla, Elvia Cristina Márquez Salgado
Revisó
M.C. Araceli Celina Justo López
Autorizó
Dr. David Rosas Almeida
Nombre y firma del maestro
Nombre y Firma del Responsable del Programa Educativo
Nombre y Firma del Director/ Representante de la Dirección
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
Código: GC-N4-017 Revisión: 4
Página 2 de 8
3. FUNDAMENTO
Arreglos unidimensionales
Los arreglos unidimensionales también se conocen como vectores y como su nombre lo indica son arreglos que tienen una sola dimensión.
Declaración de arreglos unidimensionales
Tipo de dato Nombre de la variable [dimensión];
Dónde:
Tipo de dato: Es cualquier tipo de dato válido en C.
Nombre de la variable: El nombre que se le dará al arreglo.
Dimensión: Es el número de elementos que contendrá el arreglo.
Por ejemplo:
int VECTOR_A [5]; //Declaración de un arreglo de enteros de 5 elementos.
float VECTOR_B[5]; // Declaración de un arreglo de flotantes de 5 elementos
char VECTOR_C[5]; //Declaración de un arreglo de caracteres de 5 elementos.
char VECTOR_D[5][10]; //Declaración de un arreglo de 5 cadenas de caracteres de una longitud de 10 cada una.
Inicialización de vectores. Al igual que las variables sin dimensión a los vectores también se les puede dar un valor inicial, la forma de hacer esto es:
int VECTOR_A [5] = { 1,2,3,4,5 };
float VECTOR_B[5] = { 1.1,2.3,4,5,6.7,9.6};
char VECTOR_C[5][ = { ‘s ‘, ‘d’, ‘p’, ‘#’, ‘2’};
char VECTOR_D[5][10] = { “uno”, “dos”, “tres”, “cuatro”, “cinco”};
En caso de que se quisieran inicializar todos los elementos del arreglo a 0 únicamente, se hace de la siguiente manera:
int VECTOR [5] ={0};
Acceso a los elementos de un vector: Nombre de la variable [posición]
Operaciones básicas de un vector
Dentro de las operaciones básicas que se efectúan sobre un vector tenemos las de lectura, escritura, ordenación y búsqueda.
Lectura de los elementos de un vector:
scanf(“%especificador”, & vector[posición]);
Lógicamente, si son varios elementos se utilizará un ciclo y posición será un contador que se incrementará de acuerdo al número de elementos que tenga el arreglo.
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
Código: GC-N4-017 Revisión: 4
Página 3 de 8
Ejemplo de lectura de un vector de enteros:
int vector[20];
for ( posicion=0;posicion<20;posicion++)
scanf(“%d”,&vector[posición]);
Escritura de los elementos de un vector:
printf(“%especificador”,vector[posición]);
Lógicamente, si son varios elementos se utilizará un ciclo y posición será un contador que se incrementará de acuerdo al número de elementos que tenga el arreglo.
Ejemplo de escritura de un vector de enteros:
for ( posicion=0;posicion<20;posicion++)
printf(“%d”,Vector[posición]);
Búsqueda
La operación de búsqueda es básica en cualquier estructura de datos, ésta se refiere como su nombre lo indica a buscar dentro de un grupo de datos un dato o un conjunto de datos en especial, existen diferentes tipos de búsquedas, la más sencilla de ellas es la búsqueda lineal, que es la que se explicará a continuación:
Búsqueda lineal
Esta consiste en revisar elemento por elemento del arreglo hasta encontrar el elemento a buscar, cuando éste no se repite en el arreglo en el momento que se encuentra la búsqueda se puede abandonar, pero si hay más de una ocurrencia del elemento a buscar en el arreglo se sigue revisando el arreglo hasta llegar a la última posición de éste.
Ejemplo de una búsqueda lineal cuando el elemento a buscar sólo se encuentra una vez en el arreglo
int buscar, Vector[20], pos=-1, p;
printf(“Cual es el elemento que buscas “);
scanf(“%d”, &buscar); //Guarda el elemento que buscas en la variable buscar
for(p=0;p<20;p++) //Recorres el vector desde el primer elemento hasta el último
if(Vector[p]== buscar) //si buscar es igual a lo que está en el vector en la posición p
{ pos=p; //Guardas el valor de p (la posición donde se encontró) en pos
break; //Abandonas el ciclo
}
if (pos==-1) //Si pos resulta ser igual a –1 no se encontró, ya que era el valor inicial y nunca se modificó, esto significa que no se cumplió la condición.
printf(“El elemento no se encontró “);
else //Si pos es diferente de –1 si lo encontró y está en pos
printf(“El elemento se encuentra en la posición %d”, pos);
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
Código: GC-N4-017 Revisión: 4
Página 4 de 8
Ejemplo de una búsqueda lineal cuando el elemento a buscar se encuentra más de una vez en el arreglo
int buscar, vector[20], p;
printf(“Cual es elemento que buscas? “); //Guardas el elemento que buscas en buscar
scanf(“%d”, &buscar);
for(p=0;p<20;p++) //Recorres el vector desde el primer elemento hasta el último
if(vector[p]== buscar) //si buscar es igual a lo que está en el vector en la posición p se imprime
cuántas veces se encuentre
printf(“Esta en la posición %d \n ”,p);
Ordenación
Una de las operaciones básicas que se aplican en vectores es la ordenación de estos. La ordenación consiste en reagrupar ya sea en orden ascendente o descendente los elementos del vector. Existen diferentes métodos de ordenación uno de ellos es el método de ordenación de la burbuja, este es cuando el número de elementos a ordenar es de tamaño pequeño ya que el método consiste en tomar el primer elemento del vector y compararlo con el resto de los elementos, de tal forma que cada que encuentra un elemento menor al que se está comparando éste se intercambia, al finalizar la primer pasada por los elementos del vector el elemento mayor del vector quedará en la última posición (si la ordenación es ascendente), el proceso se repite con todos los demás elementos del vector hasta que éste queda ordenado.
for(k=1;k<N;k++)
for(j=0;j<N-k;j++)
if(vector[j]>vector[j+1])
{ aux=vector[j];
vector[j]=vector[j+1];
vector[j+1]=aux;
}
Operaciones con arreglos numéricos
Ya se vio antes cómo declarar, inicializar y acceder a los elementos de un arreglo unidimensional, ahora se mostrarán operaciones básicas con arreglos unidimensionales.
Ejemplo
/* El siguiente programa lee un vector de 10 elementos y solo imprime los elementos del vector que sean mayores a la media */
#include <stdio.h>
void main()
{
int vector[10], suma=0, prom, x;
//Llenado del arreglo
for(x=0;x<10;x++)
{
printf(“Teclea el elemento de la posición %d ”,x);
scanf(“%d”,&vector[x]);
suma+=vector[x];
}
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para
...