En C++ un Array es una colección de elementos del mismo tipo, de tamaño fijo almacenados en ubicaciones de memoria contiguas.
Cada elemento del array puede accederse mediante un índice numérico, comenzando desde cero. Para ello, se usa el operador []
.
Si quieres aprender más sobre Arrays en C++
consulta el Curso de Introducción a la Programación leer más ⯈
Declaración de Arrays
La sintaxis básica para declarar un array en C++ es:
Tipo nombreArray[tamaño];
Donde:
- Tipo: Es el tipo de datos que contendrá el array, como
int
,double
,char
, etc. - nombreArray: Es el identificador del array.
- tamaño: Es el número de elementos que el array puede contener.
Por ejemplo, para declarar un array de enteros con 5 elementos:
int misNumeros[5];
En este caso, misNumeros
es un array que puede contener 5 enteros.
Creación e inicialización de arrays
Una vez declarado un array, se puede inicializar de varias maneras:
Inicialización con valores predeterminados
Puedes inicializar un array con valores específicos al momento de la declaración:
int numeros[5] = {1, 2, 3, 4, 5};
En este ejemplo, el array numeros
se inicializa con los valores 1
, 2
, 3
, 4
, y 5
.
Inicialización parcial
Si inicializas un array con menos elementos que el tamaño declarado, los elementos restantes se inicializarán con valores por defecto (generalmente 0
para tipos numéricos):
int numeros[5] = {1, 2}; // El array se inicializa como {1, 2, 0, 0, 0}
Inicialización automática
C++ permite también la inicialización automática del tamaño del array si se proporciona una lista de valores:
int numeros[] = {1, 2, 3, 4, 5}; // El tamaño del array se ajusta automáticamente a 5
Uso del Array
Acceso a elementos
Cada elemento de un array se accede mediante un índice, que comienza en 0. La sintaxis para acceder a un elemento es:
nombreArray[indice]
Por ejemplo:
int numeros[] = {1, 2, 3, 4, 5};
int primerNumero = numeros[0]; // primerNumero será 1
Modificación de elementos
Puedes modificar los elementos del array asignando nuevos valores a índices específicos:
int numeros[] = {1, 2, 3, 4, 5};
numeros[2] = 10; // El tercer elemento del array ahora será 10
Operaciones comunes con Arrays
Longitud del Array
Para obtener la cantidad de elementos en un array, puedes usar el operador sizeof
:
int numeros[] = {1, 2, 3, 4, 5};
int longitud = sizeof(numeros) / sizeof(numeros[0]); // longitud será 5
Ordenar un Array
Para ordenar arrays puedes usar la función sort
de la biblioteca estándar <algorithm>
:
#include <algorithm>
int numeros[] = {5, 3, 1, 4, 2};
std::sort(numeros, numeros + 5); // Ordena el array en orden ascendente
Invertir un Array
Para invertir el orden de los elementos, también puedes usar la función reverse
de <algorithm>
:
#include <algorithm>
int numeros[] = {1, 2, 3, 4, 5};
std::reverse(numeros, numeros + 5); // Invierte el array
Arrays Multidimensionales
Los arrays pueden tener más de una dimensión, lo que permite almacenar datos en estructuras más complejas como matrices.
Ejemplo de Array Bidimensional
int matriz[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
En este ejemplo, matriz
es un array bidimensional con 2 filas y 3 columnas.
Acceso a Elementos en Arrays Multidimensionales
std::cout << "Elemento en la fila 1, columna 2: " << matriz[1][2] << std::endl; // Imprime 6
Ejemplos prácticos
Calcular la media de un Array de enteros
Este ejemplo muestra cómo calcular la media de los elementos en un array de enteros:
#include <iostream>
int main() {
int numeros[] = {1, 2, 3, 4, 5};
int suma = 0;
for (int i = 0; i < 5; i++) {
suma += numeros[i];
}
double media = static_cast<double>(suma) / 5;
std::cout << "La media es: " << media << std::endl;
return 0;
}
Buscar el valor máximo en un Array
Este ejemplo muestra cómo buscar el valor máximo en un array de enteros:
#include <iostream>
int main() {
int numeros[] = {1, 2, 3, 4, 5};
int maximo = numeros[0];
for (int i = 1; i < 5; i++) {
if (numeros[i] > maximo) {
maximo = numeros[i];
}
}
std::cout << "El valor máximo es: " << maximo << std::endl;
return 0;
}
Contar cuántos elementos son mayores que un valor dado
Este ejemplo cuenta cuántos elementos en un array son mayores que un valor específico:
#include <iostream>
int main() {
int numeros[] = {1, 2, 3, 4, 5};
int valor = 3;
int contador = 0;
for (int i = 0; i < 5; i++) {
if (numeros[i] > valor) {
contador++;
}
}
std::cout << "Hay " << contador << " elementos mayores que " << valor << std::endl;
return 0;
}
Encontrar la Posición de un Elemento en un Array
Este ejemplo muestra cómo encontrar la posición de un elemento específico en un array:
#include <iostream>
int main() {
int numeros[] = {1, 2, 3, 4, 5};
int buscar = 4;
int posicion = -1;
for (int i = 0; i < 5; i++) {
if (numeros[i] == buscar) {
posicion = i;
break;
}
}
if (posicion != -1) {
std::cout << "El número " << buscar << " se encuentra en la posición " << posicion << std::endl;
} else {
std::cout << "El número " << buscar << " no se encuentra en el array" << std::endl;
}
return 0;
}