Está en la página 1de 25

Universidad Tecnolgica Nacional

Facultad Regional Resistencia


Tcnico Superior en Programacin

Laboratorio
de
Computacin l

Los arreglos son una coleccin de variables del mismo tipo que
se referencian utilizando un nombre comn.

Se puede definir de una forma abstracta como un


conjunto finito ordenado de elementos homogneos.
Por finito, entendemos que hay un nmero especifico de elementos en
el arreglo; nmero que debe ser grande o pequeo pero debe existir.
Por ordenado, entendemos que los elementos estn dispuestos de tal
manera que hay un elemento cero, un elemento primero, un segundo,
un tercero y as sucesivamente.
Por homogneo, entendemos que todos los elementos del arreglo son
del mismo tipo.

Tambin se conoce con el nombre de ARRAY o VECTOR.

Un arreglo consta de posiciones de memoria contigua de igual tamao


consecutivas que tienen el mismo tipo de variable.
La direccin ms baja corresponde al primer elemento y la ms alta al
ltimo. El lmite inferior se fija siempre en 0 y el superior lo fija el

programador .
Un arreglo puede tener una o varias dimensiones .
Para acceder a un elemento en particular de un arreglo se usa el nombre
del arreglo seguido de un ndice entre corchetes.
La cantidad total de espacio que se usa por un arreglo depende de 2
cosas: El nmero de elementos en el arreglo y El tamao del arreglo.

El formato para declarar un arreglo unidimensional es:

tipo nombre_arr [ tamao ]


Por ejemplo, para definir un arreglo de diez valores enteros, se debe definir este
arreglo de la siguiente manera:

int elem[10];
Esta expresin es la declaracin del arreglo. Donde int es el tipo de datos que
almacena el arreglo, elem es el nombre del arreglo, y el nmero encerrado en
los corchetes es el nmero de valores que contiene el arreglo.
En C, todos los arreglos usan cero como ndice para el primer elemento. En el
ejemplo se declara un arreglo de enteros con diez elementos desde elem[0]
(primer elemento) hasta elem[9] (ltimo elemento).

Ejemplo: considerando estas caractersticas antes nombradas, se


conceptualizar un arreglo de 10 enteros de la siguiente forma grafica.

puede

Posiciones o Indices

20

10

11

En C los arreglos comienzan desde


la posicin 0.

Datos

Cargar un arreglo.
Recorrer un arreglo.
Buscar un elemento en particular.

Acceder a un elemento en una posicin determinada.


Acceder a una posicin determinada y mostrar su contenido.
Insertar un nuevo elemento.

Eliminar un elemento.
Ordenar un arreglo

Cargar un arreglo.
Mediante declaracin del arreglo.
Usando una estructura repetitiva

Recorrer un arreglo para mostrar sus


elementos.

Forma de inicializar un arreglo es la siguiente:

tipo nombre_arreglo[ tamao] = {lista-valores};

Ejemplo:
int x[7] = {3,5,7,-2,0,1,4};
int y[30] = {2,4,5}; // el resto de los espacios vacos es cero
int z[3] = {1,2,3,4} //esto es un desbordamiento ERROR

/*Utilizacion de arreglos*/
#include <stdio.h>
#include <conio.h>

Cargar elementos en la declaracin del


arreglo

int main()
{
int lista[9]= {0, 4, 78, 5, 32, 9, 77, 1, 23};
int i;
for(i = 0; i < 9; i++)
printf("Digito %d:%d\n",i,lista[i]);
return 0;
getch();
}

#include <stdio.h>
#include <conio.h>

Cargar elementos en el arreglo


usando estructura repetitiva.

int main()
{
int lista[10];
int i;

for(i = 0; i < 10; i++)


{
printf("Ingresar el elemento %d:\n",i);
scanf("%d",&lista[i]);
}
/*Mostrar los elementos del arreglo*/

for(i = 0; i < 10; i++)


printf(Elemento %d:%d\n",i+1,lista[i]);
return 0;
getch();
}

Buscar un elemento en particular.


Acceder a un elemento en una posicin
determinada.
Acceder a una posicin determinada y mostrar

su contenido.

Un algoritmo de bsqueda es aquel que est diseado para


localizar un elemento concreto dentro de un arreglo.

Tipos de Bsqueda:
Arreglo ordenado sin elementos repetidos: BSQUEDA BINARIA
Arreglo ordenado con elementos repetidos.
Arreglo desordenado sin elementos repetidos.
Arreglo desordenado con elementos repetidos.

La bsqueda binaria o bsqueda dicotmica es un algoritmo de bsqueda.


Para realizarla, es necesario contar con un arreglo ordenado.
Se toma un elemento central, normalmente el elemento que se encuentra a la mitad
del arreglo, y se lo compara con el elemento buscado. Si el elemento buscado es

menor, se toma el intervalo que va desde el elemento central al principio, en caso


contrario, se toma el intervalo que va desde el elemento central hasta el final del
intervalo.

Se procede de esta manera con intervalos cada vez menores hasta que se llega a un
intervalo indivisible, en cuyo caso el elemento no est en el vector, o el elemento
central sea el elemento buscado.

1) Verificar que el arreglo tenga posiciones disponibles para insertar un nuevo


elemento.
2) Si existe posiciones disponibles proceder a realizar la insercin.
3) Si el arreglo esta ordenado se debe realizar la insercin en la posicin que
corresponda para que quede ordenado despus de realizar la misma (al inicio, al
medio o al final).
4) Si el arreglo no esta ordenado se puede optar por insertar el nuevo elemento al
final del arreglo.
5) Para realizar la insercin , se debe mover los elementos una posicin hacia la
derecha. Es necesario conocer la posicin del ltimo elemento del arreglo.

Arreglo Original , desordenado


0

20

10

11

Tiene libre las posiciones 8 y 9.

Tiene libre las posiciones 8 y 9. Por Ejemplo Insertar el elemento 15 en la posicin 8. El


nuevo arreglo despus de la insercin es:
20

10

11

15

Tambin se puede optar por insertar en la posicin 1. En este caso se deben mover los
elementos una posicin hacia la derecha, dejar libre la posicin 1 e insertar el nuevo
elemento. Por Ejemplo Insertar el elemento 15 en la posicin 0. El nuevo arreglo despus
de la insercin es:
0

1
20

2
5

3
10

4
0

5
6

6
9

7
2

8
11

15 20

10

11

Tipos de Insercin que se pueden realizar en arreglos


con las siguientes condiciones:
Arreglo ordenado sin elementos repetidos: BSQUEDA BINARIA
Arreglo ordenado con elementos repetidos.
Arreglo desordenado sin elementos repetidos.

Arreglo desordenado con elementos repetidos.

1) Verificar que el arreglo se encuentre el elemento a eliminar.


2) Si existe el elemento en el arreglo proceder a realizar la eliminacin.
3) La eliminacin se realiza moviendo los elementos una posicin hacia la izquierda los
elementos del arreglo, quedando una posicin libre. Para esto es necesario identificar
la posicin en la que se encuentra el elemento a eliminar .
4) Luego de realizar la eliminacin el arreglo cuenta con un elemento menos.
Arreglo Original
0

20

10

11

Eliminar el elemento 9.

Al eliminar el elemento 9 en la posicin 5. El nuevo arreglo despus de la eliminacin es:


20

10

11

Al eliminar el elemento
libre la ltima posicin

9, queda

Tipos de Eliminacin se pueden realizar en arreglos con


las siguientes condiciones:
Arreglo ordenado sin elementos repetidos. En este caso se puede utilizar
la bsqueda binaria para localizar el elemento a eliminar.
Arreglo ordenado con elementos repetidos.

Arreglo desordenado sin elementos repetidos.


Arreglo desordenado con elementos repetidos.

Ordenar un arreglo
Es la operacin de ordenar un arreglo en
algn orden de acuerdo a un criterio de
ordenamiento.

Algoritmos de insercin:
En este tipo de algoritmo los elementos que van a ser ordenados son considerados
uno a la vez.
Cada elemento es INSERTADO en la posicin apropiada con respecto al resto de los
elementos ya ordenados.

Algoritmos de intercambio:
En este tipo de algoritmos se toman los elementos de dos en dos, se comparan y se
INTERCAMBIAN si no estn en el orden adecuado. Este proceso se repite hasta que se
ha analizado todo el conjunto de elementos y ya no hay intercambios.

Algoritmos de seleccin:
En este tipo de algoritmos se SELECCIONA o se busca el elemento ms pequeo (o ms
grande) de todo el conjunto de elementos y se coloca en su posicin adecuada. Este
proceso se repite para el resto de los elementos hasta que todos son analizados.

Algoritmos de enumeracin:
En este tipo de algoritmos cada elemento es comparado contra los dems. En la

comparacin se cuenta cuntos elementos son ms pequeos que el elemento que se


est analizando, generando as una ENUMERACION. El nmero generado para cada
elemento indicar su posicin.

#include <stdio.h>
#define MAX 5
int vec[MAX];
void mostrar(void);
void main(void)
{
int i;
for(i=0;i<MAX;i++)
{
printf("Ingrese un numero entero");
scanf("%d",&vec[i]);
}
mostrar();
}
void mostrar(void)
{
int i;
for(i=0;i<MAX;i++)
printf("%d ",vec[i]);
}

También podría gustarte