Sei sulla pagina 1di 12

Arreglos o arrays en C++

Un arreglo en C++ es un conjunto de datos que se alamacenan en memoria de manera


contigua con el mismo nombre. Para difenciar los elementos de un arreglo se utilizan índices
detrás del nombre del arreglo y encerrados por []. 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 tendría los índices del 0 al 9: [0...9]

Arreglos (array)

• El arreglo es un tipo estructurado de dato, el cual es capaz de almacenar una colección de datos
del mismo tipo.

• Es la estructura de datos más utilizada por los programadores

• Es la forma más simple de agrupar componentes de un mismo tipo y asociarles un número de


orden de cada componente llamado índice.

• Los arreglos en C, se almacenan en posiciones contiguas de memoria

• Posee un tamaño

Dimensionalidad

• El arreglo es una estructura multidimensional

• En una dimensión puede ser visto como un vector,

necesita de un índice (la posición) para recorrer

sus elementos

• Un arreglo de dos dimensiones puede

representarse como una matriz, necesita de dos

índices (fila y columna) para acceder a uno de sus

elementos

Un arreglo de 3 dimensiones podemos tomarlo como un espacio. Ejemplo: el cubo de rubik

Contiene 4*4*4 cubos, para acceder a uno de ellos necesito altura, posición horizontal, y
profundidad (3 índices)

• En general un arreglo puede ser n-dimensional, y requerirá de n índices para

recorrer o acceder a sus elementos.


Observaciones

• Los índices de los arreglos comienzan en cero, es decir, el primer elemento, es el elemento cero.
• Si un arreglo es declarado en la función principal “main()” tendra las dimensiones incluidas.

• Cuando se pasa un arreglo a una función, esta ultima no necesita saber el tamaño.
Arreglos Unidimensionales
• Es una lista o vector.

• Declaración

Tipo_dato nom_arreglo[tamaño];

– Tipo_dato: de que tipo serán los elementos.

Recordar que todo son del mismo tipo

– Nom_arreglo: nombre para la variable tipo arreglos

– []: nos indica que su dimensionalidad es uno

– Tamaño: la cantidad de elementos que a los más podrá contener el arreglo.

Ejemplo #1 Arreglo de una dimensión

Declaración

int a[3]; // forma una secuencia de tres elementos

Nombre del grupo

Nombre de los elementos

a[0] -> primer elemento

a[1] -> segundo elemento

a[2] -> tercer elemento


Mapeo de un Arreglo en Memoria

• En C, un arreglo es mapeado a localizaciones de memoria continua

• Todos los elementos de memoria residen uno al lado del otro

• La dirección más baja corresponde al primer elemento, y la más alta al último elemento

• La cantidad de bytes del arreglo de tamaño n está dada por sizeof(tipo_dato)*n


Ejemplo #1 Arreglo de dos dimensión

Declaración

char m[2][3]; // forma una tabla de dos filas y tres columnas

// cada fila es un arreglo de una dimensión

// la declaración indica que hay dos arreglos de una dimensión

Nombre del grupo

m // indica la localización del grupo en la memoria

Nombre de las filas

m[0] // primera fila -> indica la localización de la fila dentro del grupo

m[1] // segunda fila -> indica la localización de la fila dentro del grupo

Nombre de los elementos

m[0][0] // primer elemento

m[0][1] // segundo elemento

m[0][2] // tercer elemento

m[1][0] // cuarto elemento

m[1][1] // quinto elemento

m[1][2] // sexto elemento


Arreglos Multidimensionales

• C permite arreglos con mas de dos dimensiones

• La forma general de una declaración de arreglo es

tipo nombre_var[ tamaño1] [ tamaño2]… [tamañoN]

Ejemplo #3 Arreglo de tres dimensión

Declaración

double w[2][2][3]; // forma dos tablas de dos filas y tres columnas

// cada fila es una secuencia de tres elementos

// cada fila es un arreglo de una dimensión

// la declaración indica que hay dos arreglos de dos dimensiones

// los arreglos de dos dimensiones tienen a su vez dos arreglos de una dimensión

Nombre del grupo

w // indica la localización del grupo en la memoria

Nombre de las tablas

w[0] // primera tabla // indica la localización de la tabla dentro del grupo

w[1] // segunda tabla. indica la localización de la tabla dentro del grupo

Nombre de las filas

w[0][0] // primera tabla, primera fila

w[0][1] // primera tabla, segunda fila

w[1][0] // segunda tabla, primera fila

w[1][1] // segunda tabla, segunda fila

Nombre de los elementos

w[0][0][0] // primer elemento

w[0][0][1] // segundo elemento

w[0][0][2] // tercer elemento

w[0][1][0] // cuarto elemento

w[0][1][1] // quinto elemento

w[0][1][2] // sexto elemento

w[1][0][0] // séptimo elemento


w[1][0][1] // octavo elemento

w[1][0][2] // noveno elemento

w[1][1][0] // decimo elemento

w[1][1][1] // undécimo elemento

w[1][1][2] // duodécimo elemento

Ejemplo #2

. Cálculo de la mayor cuota de comunidad de los vecinos de una mancomunidad

de 3 porta-les, 4 plantas por portal y 3 puertas por planta, realizando previamente

la carga de la tabla correspondiente. Se debe tener en cuenta que la cuota

mínima de comunidad son 20 € y que no puede haber dos vecinos con la misma

cuota. Al visualizar la cuota mayor se indi-cará en pantalla el portal,

planta y puerta del vecino con cuota mayor.

#include<stdio.h>

int main(){

int mat[3][4][3],i,j,k,aux;

for(i=0;i<3;i++){

for(j=0;j<4;j++){

for(k=0;k<3;k++){

do{

printf("Cuota del Portal %d,planta %d y puerta %d\n",i,j,k);

scanf("%d",&mat[i][j][k]);
if(mat[i][j][k]<=20){

printf("Error,la cuota debe de ser mayor que 20 euros\n");

/* else{

aux=mat[i][j][k];

}*/

}while(mat[i][j][k]<20 && aux==mat[i][j][j]);

//visualizacion en matriz

for(i=0;i<3;i++){

for(j=0;j<4;j++){

for(k=0;k<3;k++){

printf("\t\n[%d][%d][%d]=%d ",i,j,k,mat[i][j][k]);

printf("\n");

return 0;

}
En resumen, un arreglo:

No es una variable; es un grupo de variables conocidas como elementos

Cada elemento ocupa una posición dentro del grupo

Todos los elementos son del mismo tipo

El nombre del arreglo indica donde se localiza el grupo en la memoria de la computadora

Los arreglos se clasifican de acuerdo a las dimensiones que tengan

Las dimensiones no tienen relación con el plano Cartesiano; nada

que ver con matemática

Las dimensiones indican como están organizados los elementos dentro del grupo

Los arreglos de dos dimensiones pueden visualizarse como tablas

Los valores que se guarden en el arreglo se almacenan en los elementos ya que los elementos son
las variables

Potrebbero piacerti anche