2. ¿Qué es un Arreglo?
➔ Es un grupo de variables que contienen valores,
todos del mismo tipo.
➔ Los arreglos son entidades de longitud fija;
conservan la misma longitud una vez creados.
➔ Para hacer referencia a un elemento específico en
un arreglo, debemos especificar el nombre de la
referencia al arreglo y el número de la posición del
elemento en el arreglo.
➔ El número de la posición del elemento se conoce
formalmente como el índice o subíndice del
elemento.
4. Partes de un Arreglo.
➔ En el ejemplo: el nombre del arreglo es c.
➔ int c[ 12 ]; //c es un arreglo de 12 enteros
➔ La manera en que se hace referencia a los
elementos es: c[ 0 ] , c[ 1 ] , c[ 2 ] , ..., c[ 11 ] .
➔ El valor de c[ 0 ] es -45 , el valor de c[ 1 ] es 6, el de
c[ 2 ] es 0 y el de c[ 11 ] es 78.
➔ Para calcular la suma de los valores en los
primeros tres elementos y almacenar el resultado
en la variable suma , escribiríamos lo siguiente:
suma = c[ 0 ] + c[ 1 ] + c[ 2 ];
5. Creación de arreglos
➔ Al igual que los demás objetos, los arreglos se
deben ser declarados.
➔ Para crear un objeto arreglo, el programador
especifica el tipo y el número de elementos.
➔ La siguiente declaración crea un arreglo, que
contiene 7 elementos int , y almacena la referencia
del arreglo en la variable Arreglo:
int Arreglo [ 7 ]; // arreglo de 7 números enteros.
6. Ejemplo: Listar Elementos.
#include <iostream>
using namespace std;
int main() {
int n[ 10 ]; // arreglo de 10 numeros.
for ( int i = 0; i < 10; i++ )
n[ i ] = 0; // valor cero
cout << "Indice" << "t" << "Valor" << endl;
for ( int j = 0; j < 10; j++ ) //imprime los elementos
cout << j << "t" << n[ j ] << endl;
return 0;
}
7. Inicializador de Arreglo
➔ Permite crear e inicializar un arreglo. Es una lista
de expresiones separadas por comas encerrada
entre llaves { };
➔ La longitud del arreglo se determina en base al
número de elementos en la lista.
Por ejemplo, la declaración:
int n[] = { 10, 20, 30, 40, 50 };
Crea un arreglo de cinco elementos.
El elemento n[0] se inicializa con 10 , n[1] se inicializa
con 20 , y así en lo sucesivo.
8. Ejemplo:
Inicializar y Listar.
#include <iostream>
using namespace std;
int main()
{
// Inicializar el arreglo n
int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };
cout << "Indice" << "t" << "Valor" << endl;
// imprime el valor de cada elemento del arreglo
for ( int i = 0; i < 10; i++ )
cout << i << "t" << n[ i ] << endl;
return 0; // indica que terminó correctamente
}
9. Cálculo de los valores a
guardar en un arreglo.
➔ El siguiente ejemplo crea un arreglo de 10
elementos y asigna a cada elemento uno de los
enteros pares del 2 al 20 ( 2 , 4 , 6 , ..., 20 ).
➔ Después, la aplicación muestra el arreglo en
formato tabular.
10. Arreglo con números
enteros pares del 2 al 20.
#include <iostream>
using namespace std;
int main()
{
int s[ 10 ]; // 10 elementos
cout << "Indice" << "t" << "Valor" << endl;
for ( int i = 0; i < 10; i++ ) // establece los valores
{
s[ i ] = 2 + 2 * i;
cout << i << "t" << s[ i ] << endl;
}
return 0; // indica que terminó correctamente
} // fin de main
11. Gráfico de Barras.
➔ Muchas aplicaciones presentan datos en forma
gráfica.
➔ Por ejemplo, con frecuencia los valores numéricos
se muestran como barras.
➔ En dicho gráfico, las barras más largas representan
valores numéricos más grandes.
➔ A los profesores les gusta examinar la distribución
de las calificaciones en un examen.
➔ Un profesor podría visualizar la distribución de las
calificaciones.
12. #include <iostream>
using namespace std;
int main() {
int n[6] = { 0, 3, 4, 7, 3, 1 };
cout << "Distribucion de Calificaciones:" << endl;
for ( int i = 0; i < 6; i++ )
{
cout << "Calificacion:" << i << "t";
// imprime barra de asteriscos
for ( int estrellas = 0; estrellas < n[ i ]; estrellas++ )
{
cout << '*';
}
cout << "n";
}
return 0; }
13. Frecuencias de un Dado.
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
int frecuencia[]={0,0,0,0,0,0,0};
for (int tiro=1; tiro<=6000; tiro++) // tira el dado 6000 veces
frecuencia[1 + rand()%6]++;
cout << "CaratFrecuencia" << endl;
// imprime el valor de cada elemento
for ( int cara = 0; cara < 7; cara++ )
cout << cara <<"t"<< frecuencia[cara] << endl;
}
14. Arreglos para Analizar
Resultados de Encuesta.
➔ Se pidió a veinte estudiantes que califiquen la
calidad de la comida en la cafetería estudiantil, en
una escala del 1 al 10 (en donde 1 significa pésimo
y 10 significa excelente).
➔ Coloque las 40 respuestas en un arreglo entero y
sintetice los resultados de la encuesta.
15. // Resultado de Encuesta
#include <iostream>
using namespace std;
int main()
{
int respuestas[] = {1,2,6,4,8,5,9,7,8,9,1,6,3,8,6,9,3,8,2,7};
int frecuencia[] = {0,0,0,0,0,0,0,0,0,0,0}; //contadores
for (int contador=0; contador<20; contador++ )
frecuencia[respuestas[contador]]++;
cout << "NotatFrecuencia" << endl;
// imprime el valor de cada elemento
for (int nota=1;nota<=10;nota++)
cout << nota << "t" << frecuencia[nota] << endl;
return 0;
}
16. Arreglo de Bidimensional
➔ Es un arreglo con 2 índices, en donde la
información está ordenada en filas y columnas.
➔ Para identificar un elemento, debemos especificar
dos índices.
17. Inicializador de Arreglo
Bidimensional.
➔ Al igual que los arreglos unidimensionales, los
arreglos bidimensionales pueden inicializarse.
➔ Un arreglo bidimensional arreglo con dos filas y dos
columnas podría declararse e inicializarse así:
int arreglo[ ] [ ] = { { 1, 2 }, {3, 4} };