almacenan en memoria de manera contigua con el mismo nombre. del mismo tipo, tales como veinte enteros, cincuenta nmeros de coma flotante o quince caracteres. EJ: podemos almacenar 5 valores de tipo int sin tener que declarar 5 variables diferentes con un identificador diferente. Sino que, usando un arreglo podemos almacenar 5 diferentes valores del mismo tipo, int por ejemplo, con un nico identificador. SINTAXIS Para declarar un arreglo de una dimensin determinada es:
tipo nombre Arreglo [NumeroDeElementos];
Como cualquier otra variable, un arreglo debe ser declarada antes de ser usada. Una declaracin tpica para un arreglo en C++ es: tipo nombre [elementos];
donde tipo es un tipo de objeto vlido (int, float...),
nombre es un identificador de variable vlido y el campo elementos, que est encerrado entre corchetes [], especifica cuantos de estos elementos contiene el arreglo. El elemento 5 (quinto) de un arreglo, es representado por el ndice [4], ya que los ndices comienzan en 0. Esto significa que un arreglo de 10 elementos tendra los ndices del 0 al 9: [0...9] NDICES Y UNIDIMENSIONALES DE UN ARRAY
Unidimensionales: se le denomina a los arreglos
que tienen un solo subndice sea que cada bloque de memoria tiene el tamao del tipo de dato. Se denomina indexacin basada en cero a todos los subndices de los arrays que comienzan con 0. ndices: Las posiciones vlidas de un array. En la declaracin del array int a[7] los ndices vlidos son a[1],..,a[6] . Pero si se pone a[10] no se da mensaje de error y el resultado puede ser impredecible. PARA TENER EN CUENTA Hay que tener en cuenta que los ndices del arreglo usualmente de les denomina tambin subndices del arreglo. Hay que tener en cuenta que C++ no comprueba que los ndices del array estn dentro del rango definido, por lo que debe ser controlado por el usuario. Hay que tener cuidado de no asignar valores fuera del rango de los subndices, debido a que se sobre escribiran datos o cdigos. cuando hemos declarado un arreglo, tenemos la posibilidad de asignar valores inciales a cada uno de sus elementos usando llaves { }. Por ejemplo: int billy [5] = { 16, 2, 77, 40, 12071 }; recuerde que los ndices de un arreglo siempre comienzan por 0. OPERADOR SIZEOF
Al usar sizeof para solicitar el tamao de un
array, se obtiene el nmero de bytes reservados para el array completo. Conociendo el tipo de dato almacenado en el array y su tamao, se puede calcular la longitud del array , mediante el cociente sizeof(a)/tamao(dato). //Uso de arreglos en C++ #include <iostream> using namespace std; int main() { int arreglo Entero[10] = {0}; //Arreglo entero de 10 elementos inicializados todos en 0. cout << "Arreglo recin declarado: " << endl; for (int i = 0 ; i < 10 ; i++) //Notar el menor estricto (<) para ir desde 0 hasta 9 cout << "arregloEntero["<<i<<"]="<<arregloEntero[i] << endl; cout << "Introduzca 10 nuevos valores " << endl; for (int i = 0 ; i < 10 ; i++) //Notar el menor estricto (<) para ir desde 0 hasta 9 { cout << " Introduzca nuevo valor para arregloEntero["<<i<<"]" << endl; cin >> arregloEntero[i]; } cout << "Luego de los valores introducidos, el arreglo quedo asi: " << endl; for (int i = 0 ; i < 10 ; i++) //Notar el menor estricto (<) para ir desde 0 hasta 9 cout << "arregloEntero["<<i<<"]="<<arregloEntero[i] << endl; return 0; } ARREGLOS MULTIDIMENSIONALES Los Arreglos multidimensionales no estn limitados a dos indices (dos dimensiones). Pueden contener tantos indices como sea necesario, aunque es raro tener que representar ms de 3 dimensiones. Solo considere la cantidad de memoria que un arreglo con muchos indices puede requerir. Por ejemplo: char century [100][365][24][60][60]; ARREGLOS COMO PARMETROS En algn momento podramos necesitar pasar un arreglo como parmetro a una funcin. En C++ no es posible pasar por valor un bloque completo de memoria como parmetro a una funcin, inclusive si est ordenando como un arreglo, pero es permitido pasar su direccin. Esto tiene casi el mismo efecto prctico y es mucho ms rpido y ms eficiente. Para poder admitir arreglos como parmetros la nica cosa que debemos hacer cuando declaramos la funcin es especificar en el argumento el tipo de base para el arreglo, un identificador y un par de corchetes vacos []. Por ejemplo, la siguiente funcin: void procedure (int arg[])