Está en la página 1de 6

Un vector o array es un conjunto de elementos del mismo tipo

(enteros, flotantes, caracteres) que se agrupan bajo un mismo nombre


y se diferencian entre sí por un índice.

La forma genérica de declararlo en un programa es la siguiente:

Tipo nombre [cantidad]

Donde tipo es el tipo de dato, por ejemplo int, float, char, etc.
“nombre” es el nombre del vector y “cantidad” es la cantidad de
elementos que contiene el vector.

La representación gráfica del vector “v” puede ser la siguiente:


Int V [5]
Valor: 12 23 9 37 31
Índice: 0 1 2 3 4

Como se puede ver el índice comienza siempre en cero y va hasta


la cantidad de elementos menos uno.
Para acceder a un elemento cualquiera de vector, por ejemplo al tercer
elemento se escribe:
v[2]

Donde “v” es el nombre del vector y entre corchetes se le pone el


índice.

De acuerdo a esto, decimos que el vector tiene 5 enteros, el nombre


del vector es “v” y cada
Se observa que entre el número de elemento y el índice existe una
diferencia de 1

Note que v[5] no existe como elemento del vector.


Para llenar un vector con valores (cargar), existen 2 formas que son la
secuencial y la aleatoria.

En la carga secuencial se carga el vector ordenadamente, es decir el


primero después el segundo, el tercero y así hasta llegar al último.

En la carga aleatoria no existe un orden establecido, por lo tanto se


debe informar el número a cargar y en qué posición del vector se
carga.

Carga secuencial

v[0], v[1], v[2], v[3], v[4]

Como se observa, el que cambia en forma creciente es el índice del


vector que es el que nos permite hacer la carga en forma secuencial.

Carga aleatoria

De acuerdo a lo comentado con anterioridad para la carga aleatoria se


debe ingresar 2 valores que son la posición donde queremos
guardar el número y luego el número que queremos cargar.

Puede ocurrir que en algún caso no se carguen todos los elementos


del vector o que se pretenda cargar algún valor en un lugar ya
cargado. Para analizar esto comenzaremos por el caso más simple y
dejando que el usuario decida cuando terminar de cargar elementos
en el vector. De acuerdo a esto, como no se sabe cuántos elementos
se van a cargar ni en qué orden, debemos primero inicializar todos
los elementos del vector en un valor conocido que normalmente
es cero.
Método de burbujeo
Una de las formas más usadas para ordenar un vector se llama
Método de burbujeo. Se van comparando los elementos del vector,
que en forma genérica será el elemento “i” (vec[i]) con el resto de
los elementos del vector (desde la posición siguiente a “i” hasta
el final del mismo).

Bajo esta premisa, podemos


Modificar el algoritmo, haciendo que el segundo bucle for se ejecute la
cantidad de veces que sean necesarias hasta que el array este
ordenado, y no más. Para ello, cambiamos el primer bucle for por un
bucle while, y utilizamos un flag para saber si ya terminamos de
ordenar.

Método de inserción:
Un algoritmo más eficiente de ordenamiento es el ordenamiento por
inserción.
La idea del algortimo, es ir tomando cada uno de los items del array
(empezando desde el segundo) y comparándolo con todos los
items que están a su izquierda. Mientras el ítem será menor el que
ítem a su izquierda se seguirá comparando. En el ítem tomado, será
“movido o insertado” de modo que a su izquierda no tenga ítems
mayores. En el caso de no encontrar uno mayor, nuestro ítem no
se moverá.

Inicializar un array
En C se pueden inicializar los arrays al declararlos igual que hacíamos
con las variables. Recordemos que se podía hacer: int hojas = 34;
Pues con arrays se puede hacer:
Int temperaturas[24] = { 15, 18, 20, 23, 22, 24, 22, 25, 26, 25, 24, 22,
21, 20, 18, 17, 16, 17, 15, 14, 14, 14, 13, 12 };
Ahora el elemento 0 (que será el primero), es decir temperaturas[0]
valdrá 15. El elemento 1 (el segundo) valdrá 18 y así con
todos.
Recorrer un array
En el apartado anterior veíamos un ejemplo que mostraba todos los
datos de un array. Veíamos también lo que pasaba si metíamos más o
menos elementos al inicializar la matriz. Ahora vamos a ver qué pasa
si intentamos imprimir más elementos de los que hay en la matriz, en
este caso intentamos imprimir 28 elementos cuando sólo hay 24:

#include int main()


{ int hora; /* Faltan los tres últimos elementos */
int temperaturas[24] = { 15, 18, 20, 23, 22, 24, 22, 25, 26, 25, 24, 22,
21, 20, 18, 17, 16, 17, 15, 14, 14, 13, 13, 12 };
#include <ctype.h>

Isspace:
#include int isspace(int ch);

La función isspace() devuelve un valor distinto de cero si ch es un espacio,


tabulador, o carácter de salto de línea, en cualquier otro caso devuelve el valor
cero.

isdigit
#include int isdigit(int ch);
La función isdigit() devuelve un valor distinto de cero si ch es un dígito (0..9),
en cualquier otro caso devuelve el valor cero.

isgraph
#include int isgraph(int ch);
La función isgraph() devuelve un valor distinto de cero si ch es cualquier
carácter imprimible distinto del espacio, en cualquier otro caso devuelve cero.

Islower
#include int islower(int ch);

La función islower() devuelve un valor distinto de cero si ch es una carácter


minúscula, en cualquier otro caso devuelve cero.

isalpha
La función isalpha() devuelve un valor distinto de cero si ch es una letra del
alfabeto, en cualquier otro caso devuelve cero.

tolower
int tolower(int ch);
La función tolower() devuelve el equivalente en minúscula de ch, si ch es una
letra mayúscula, en cualquier otro caso se devuelve ch sin modificar.
Toupper
#include int toupper(int ch);
La función toupper() devuelve el equivalente en mayúsculas de ch, si ch es
una letra minúscula, en cualquier otro caso se devuelve ch sin modificar.

También podría gustarte