Array

Un array es un conjunto  finito de elementos del mismo tipo, colocados consecutivamente en memoria. En C++ disponemos del array de la biblioteca estándar, para poder utilizarlo debemos incluir el archivo de cabecera <array>

Los elementos de un array son accesibles mediante un índice. El índice del primer elemento siempre es cero y el índice del último elemento es, el total de elementos menos 1.

La siguiente imagen representa un array de n elementos.



El siguiente ejemplo declara un array de cinco elementos del tipo int y asigna un valor al primer elemento.

#include <iostream>
#include <array>

using namespace std;
int main(void)
{
    array<int,5> Vector;
    Vector[0] = 1234;
    cout<<endl<<"primer valor "<<Vector[0]<<endl;
    
    return 0;
}

La salida por pantalla sería:
      primer valor 1234

Como se observa en el código, para acceder a un elemento concreto del array Vector, se utilizan los corchetes y el índice de posición, exactamente igual que hacíamos en C.

size
La función size nos devuelve el total de elementos de un array.

#include <iostream>
#include <array>

int main(void)
{
    std::array<int,5> Vector;
    int tam_array;
    tam_array = Vector.size();

    std::cout<<std::endl<<"Tamaño del vector: "<<tam_array<<std::endl;
    return 0;
}

la salida por pantalla sería:
       Tamaño del vector: 5

El tipo array nos permite hacer asignaciones entre variables del mismo tipo.

#include <iostream>
#include <array>

using namespace std;
int main(void)
{
    array<int,5> Vector, Vector2;
    for(int i = 0; i< 5 ;i++)
    {
        Vector[i] = i;
    }

    Vector2 = Vector;

    cout<<endl<<"Valores del Vector2 "<<endl;
    for(int i = 0; i< 5 ;i++)
    {
        cout<<Vector2[i]<<" ";
    }
    cout<<endl;
    return 0;
}


Array bidimensional.

Representación grafica de un array de dos dimensiones de 4 filas por 6 columnas.

Para declarar un array bidimensional, por ejemplo de enteros, primero declaramos un array de enteros del tamaño que necesitemos, que serán las filas, en este ejemplo, de 4 elementos, y lo utilizamos para declara un array Matriz de elementos Fila.

      typedef array<int, 4> Fila;
            array<Fila, 6> Matriz;

Para referenciar cada uno de los elementos, debemos utilizar dos índices, uno para las filas y otro para las columnas, ambos entre corchetes.


    short fl = 2;
    short cln = 3;

    Matriz[fl][cln] = 57;

De esta manera accedemos al elemento (2,3) de la array Matriz y se le asigna el valor 57.

size
      Matriz.size();
      Matriz[n].size();

Matriz.size();  nos devuelve el número de filas de Matriz.  Matriz[n].size(); nos devuelve el número de elementos de la fila n.
Para saber el total de elementos de un array bidimensional, solo tenemos que multiplicar el número de filas por el total de elementos por fila.