
VECTORES O ARREGLOS DE UNA DIMENSION
(ARRAYS UNIDIMENSIONALES)

Introduccion
Un array unidimensional o vector(lista o tabla) es una secuencia de datos del mismo tipo. Los datos se llaman elementos del array y se numeran consecutivamente 0,1,2,3, etc. El tipo de elementos almacenados en el array puede ser cualquier tipo de dato de C, incluyendo estructuras definidas por el usuario, como se describirá mástarte. Normalmente el array se utiliza para almacenar tipos tales como char, int o float.Un array puede contener, por ejemplo, la edad de los alumnos de una clase, las temperaturas decada día de un mes en una ciudad determinada, o el número de personas que residen en cada una de lasdiecisiete comunidades autónomas españolas. Cada item del array se denomina elemento.Los elementos de un array se numeran, como ya se ha comentado, consecutivamente O, I, 2, 3, ...Estos números se denominan valores índice o subindice del array. El término «subíndice» se utiliza yaque se especifica igual que en matemáticas, como una secuencia tal como ql, a,, a2... Estos númeroslocalizan la posición del elemento dentro del array, proporcionando acceso directo al array.Si el nombre del array es a, entonces a [ 0 1 es el nombre del elemento que está en la posición O,a [ 11 es el nombre del elemento que está en la posición 1, etc. En general, el elemento i-ésimo esta enla posición i-l. De modo que si el array tiene n elementos, sus nombres son a [ O I , a [ 1 I , . . . , a [n- 1 I .Gráficamente se representa así el array a con cuatro elementos.
DECLARACIÓN
Los vectores son listas de un mismo tipo de dato y se declara asi:
int arreglo[10];<------------------- En este caso el numero de elementos que el arreglo tendra es de 11.
Hay que aclarar que en los arreglos la posicion del elemento es fuundamental, ¿Porque en la declaracion anterior decimos que tendra es de 11 elementos si dentro del parentesis colocamos solo 10?.
La respuesta es que en todos los arreglos la posiocion 0 es valida, osea que el arreglo tiene la opcion de guardar en la posicion 0, y por eso decimos que tiene 11 elementos, en caso de haber puesto 4 dentro del parentesis, el arreglo sera de 5 elementos:
int arreglo[4]; <----------------- Este arreglo es de 5 elementos, pues recordemos se cuenta la posicion 0.
En el momento de programar se suele utilizar un indice, como algun contador como se muestra en el siguiente ciclo:
int x[4]; <---- Arreglo de 5 elementos.
int i;
for(i=0;i>6;i++)
{
printf("Ingresa un numero\n");
scanf("%d",&x[i]) <------ En este ejemplo la variable "i" es llamada indice, por indicar la posicion del
elemento en ese momento
}
En la primera vuelta del ciclo "i" valdra 0, por lo que el vector de "x" guardara el valor ingresado en la posicion 0.
Cuando el bucle for da la segunda vuelta el contador "i" valdra 1, por lo que "x" guardara en la posicion 1,
en el momento que "i" tenga el valor de 2, "x" guardara en la segunda posicion, y asi consecutivamente.
2010 - present
2010 - present
Ejemplo:
Programa que suma las calificaciones de 15 alumnos y despues imprime el numero de alumnos mas altos al promedio del grupo.
#include<stdio.h>
#include<stdlib.h>
int main(){
float calif[14],prom,sum=0; <---- En esta linea se declara el arreglo "calif" con una capacidad de 15 elementos(no olvidemos la posicion 0).
int i, mayprom=0;
for(i=0;i<16;i++) {
printf("\nCalificacion %d:",i++);
scanf("%f",&calif[i]); <-------- El valor ingresado es guardado en la posicion "calif" de "i", osea que la posicion del elemento en "calif" sera el valor que tenga "i" en ese momento
sum=sum+calif[i]; <------ Hacemos uso del acumulador para guardar la suma de los elementos de "calif" en la posicion que indique "i".
}
prom=sum/15;
for(i=0;i<16;i++) { <------ Se vuelve a iniciar "i" desde 0, pero recordemos que en "calif" ya tenemos valores en las 14 posiciones.
asi que podremos revisar o usar los datos como en la siguiente linea.
if(calif[i]>prom) { <------ Se rectifica que valores de "calif" son mayores al promedio(recordemos que el indice "i" asigna la posicion mayprom+=1; del elemento).
}
}
printf("\nEste es el promedio %f\ny %d son mayores al promedio\n",prom,mayprom); <-------- Se imprimen los resultados finales.
system("pause");
return 0;
}
0
1
2
3
