Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEL CONOCIMIENTO
Los arreglos de una dimensión, llamados también listas o vectores, permiten almacenar datos
que tienen las mismas características. Se caracterizan por tener un solo subíndice.
Por ejemplo: nombres, sueldos, edades, temperatura, talla, etc.
En general se puede visualizar un arreglo de una dimensión de la siguiente forma:
NOMBRE: talla
POSICION: 0 1 2 3 4 5 6 7 8 9
CONTENIDO 1.65 1.35 1.45 1.65 1.23 1.66 1.42 1.50 1.75 1.60
Esto es el arreglo talla tiene 10 elementos: talla[0] contiene 1.65, talla[1] contiene 1.35,
talla[2] contiene 1.45, talla[3] contiene 1.65 y así sucesivamente, el último elemento,
talla[9] contiene 1.60.
Si el nombre del arreglo es a, entonces a[0] es el nombre del elemento que está en la
posición 1, a[1] es el nombre del elemento que está en la posición 2. En general, el
elemento i-ésimo, a[i], está en la posición i+1. Estos números se denominan índices o
subíndices del arreglo.
1
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
Al igual que las variables, un arreglo se debe declarar antes de utilizarlo y se hace de modo
similar a las variables, con la precaución de mencionar el número de elementos que
contendrá el arreglo entre los corchetes cuadrados:
Sintaxis de la instrucción:
Por ejemplo, para crear una lista de diez datos enteros con el nombre edades se escribe:
int edades[10];
Esto hace que el compilador reserve espacio suficiente para contener diez valores enteros,
bajo el nombre edades. Los enteros ocupan 2 bytes, de modo que un arreglo de diez
enteros ocuparía 20 bytes de memoria.
Se puede declarar uno o más arreglos del mismo tipo en una misma instrucción así:
Una vez declarado el arreglo y antes de utilizarlo, se le debe asignar valores a cada
elemento, esto es, proporcionarle los datos que almacenará al arreglo. Para asignar estos
valores podemos proceder de las siguientes tres maneras:
int edades[10]={12,16,20,18,17,11,10,16,19,20};
En este caso cada uno de los 10 elementos del arreglo edades asume su valor. En el caso
de que le faltaran valores, los asumiría con ceros; por el contrario, si sobran elementos,
se produce un error.
int nota[8]={0};
En este caso cada uno de los 8 elementos del arreglo n asume valor 0.
for(i=0;i<=9;i++) unos[i]=1;
En este caso cada uno de los 10 elementos del arreglo unos, asume el valor de 1.
Ejemplo:
Definir un vector que contenga las edades de 10 alumnos. Calcular y escribir la cantidad
de alumnos mayores de edad y la cantidad de menores de edad.
Variables:
EDAD: Vector
X: Sub-índice
C1: Cantidad de mayores de edad
2
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
CODIGO EN C++
#include<iostream>
using namespace std;
int main()
{
int EDAD[10], c1=0, c2=0,x;
cout<<"Escriba edad de los estudiantes :";
for(x=0; x<10; x++)
cin>>EDAD[x];
cout<<"\n\n";
for(x=0; x<10; x++)
{
cout<<" "<<EDAD[x]<<" ";
if(EDAD[x] >=18)
c1++;
else
c2++;
}
cout<<"\nMayores de edad "<<c1;
cout<<" Menores de edad "<<c2;
cout<<endl;
system("pause");
return 0;
}
Salida en C++
En el siguiente ejemplo: El nombre del arreglo es a, es un arreglo de cuatro filas por tres
columnas, para un total de doce elementos.
3
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
Cada uno de los elementos de a, está identificado por un nombre de elemento de la forma:
a[i][j], donde i corresponde a la fila y j a la columna.
En el siguiente ejemplo:
Sintaxis de la instrucción:
Tipo_de_dato nombre_del_arreglo[número_de_renglones][número_de_columnas]
Por ejemplo, para crear una tabla de tres renglones por diez columnas, de tipo numérico
real y de nombre datos se escribe:
float datos[3][10];
in t tabla[2][3]={51,21,26,18,20,30};
Otra forma:
in t tabla[2][3]={{51,21,26},{18,20,30}};
4
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
Mencionando los elementos por cada renglón y separándolos por comas o especificando
cada renglón en unas llaves. Si faltaran mencionar elementos, C++ llena los que faltaran
con ceros. De cualquier forma, el arreglo anterior se almacenaría así:
Tabla
51 21 26
18 20 30
float ventas[12][5]={0.0};
}
Salto de Línea;
}
Ejemplo:
VARIABLES:
NOTA: Arreglo bidimensional que almacena las notas (0-5) de los 10 estudiantes del curso
en las seis asignaturas.
J: Variable individual que se utiliza para modificar los sub-índices que maneja las filas.
K: Variable individual que se utiliza para modificar los sub-índices que maneja las
columnas.
5
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
CODIGO EN C++
#include<iostream>
using namespace std;
int main()
{
int j, k;
float nota[10][6];
//Captura de notas
for (j = 0; j < 10; j++)
{
cout << endl << endl;
cout << "\tEstudiante No. " << j + 1 << ": ";
cout << endl << endl;
for (k = 0; k < 6;)
{
cout << " Ingresar La Nota No. " << k + 1 << ": ";
cin >> nota[j][k];
if (nota[j][k] >= 0 && nota[j][k] <= 5.0)
k++;
else
cout << "\n\n\t=== Nota no Valida ===\n\n";
}
}
system("cls");
//Impresion de Notas
cout << "\tNotas Ingresadas";
cout << endl << endl;
for (j = 0; j < 10; j++)
{
cout << " => Estud No." << j + 1 << ": Notas ";
for (k = 0; k < 6; k++)
cout << nota[j][k] << " ";
cout << endl;
}
cout << endl;
system("pause");
return 0;
}
Salida en C++
Si lo comparamos con Excel, podríamos decir que un dato tiene dirección de columna, fila
y hoja. Por ejemplo, podemos tener las ventas de una cadena de almacenes, donde las
organizamos por sucursal, ciudad y año.
Para inicializar un arreglo tridimensional o de más dimensiones, obramos de la misma
manera que con las tablas, utilizando una estructura de repetición for, para inicializar un
arreglo de tres dimensiones, así:
Por ejemplo:
• La primera sentencia for, para el control de las 3 dimensiones del arreglo con el índice
k.
• La segunda sentencia for externa, para el control de los renglones con el índice i.
• La tercera sentencia for interna, para el control de las columnas con el índice ciclo j.
CODIGO EN C++
#include <iostream>
using namespace std;
int main()
{
int v[2][3][5], k, i, j;
//INICIALIZACION DEL ARREGLO
for (k = 0; k<2; k++)
{
for (i = 0; i<3; i++)
{
for (j = 0; j<5; j++)
{
v[k][i][j] = 1;
}
}
}
//IMPRESION DE LOS DATOS
for (k = 0; k<2; k++)
{
cout << "\t===" << "DIMENSION " << k << " ===" << endl;
for (i = 0; i<3; i++)
{
for (j = 0; j<5; j++)
{
cout << v[k][i][j] << " ";
}
cout << "\n";
}
cout << "\n";
}
system("pause");
return 0;
}
7
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
Salida en C++
EJEMPLOS:
CODIGO EN C++
#include <iostream>
using namespace std;
int main()
{
double vector1[7] = { 15, 25, 35, 49, 68, 80, 99 };
double vector2[7];
int i;
for (i = 0; i<7; i++)
{
vector2[i] = sqrt((2 * vector1[i]) / 9.8);
}
cout << "METROS" << "\t" << "TIEMPO DE CAIDA " << endl;
for (i = 0; i<7; i++)
{
cout << " " << vector1[i] << "\t " << vector2[i] << '\n';
}
system("pause");
return 0;
}
8
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
Salida en C++
CODIGO EN C++
#include <iostream>
using namespace std;
int main()
{
int avion[5][4];
int ContAsiLib = 0;
int ContAsiOcu = 0;
cout << " Ingresar Estado Asiento (0: Libre, 1: Ocupado): ";
cout << endl << endl;
for (int i = 0; i<5; i++)
{
for (int j = 0; j<4;)
{
cout << " => Fila[" << i << "] Columna[" << j << "]: ";
cin >> avion[i][j];
if (avion[i][j] == 0)
{
ContAsiLib++;
j++;
}
else
{
if (avion[i][j] == 1)
{
ContAsiOcu++;
j++;
}
else
cout << "\n\t=== Estado Ingresado no Valido ===\n\n";
}
}
cout << endl;
}
system("cls");
cout << "\t=== Estado de Asignaci\242n de Asientos en la Avioneta === ";
cout << endl << endl;
for (int i = 0; i<5; i++)
9
UNIVERSIDAD MILITAR NUEVA GRANADA DEPARTAMENTO DE TECNOLOGÍAS DEL CONOCIMIENTO
{
for (int j = 0; j<4; j++)
cout << " " << avion[i][j];
cout << endl;
}
cout << endl << endl;
cout << " => N\243mero de Asientos Ocupados: " << ContAsiOcu << endl;
cout << " => N\243mero de Asientos Libres: " << ContAsiLib << endl;
cout << endl;
system("pause");
return 0;
}
Salida en C++
10