Professional Documents
Culture Documents
CENTRO DE SISTEMAS
7. ALMACENAMIENTO
(ARRAYS)
DE DATOS EN ARREGLOS
Para resolver algunos problemas es necesario manejar datos del mismo tipo; los
arreglos nos permiten mantener en memoria datos sin necesidad de disponer de una
variable por cada elemento, adems almacenar y manipular grandes cantidades de
datos.
Los arreglos son un conjunto de variables que en la memoria ocupan posiciones
continuas de almacenamiento y que tienen un mismo nombre. El grupo de variables
que conforman un arreglo tienen las mismas caractersticas, es decir, son de la misma
clase (numrica o alfanumrica); y adems tienen el mismo tamao, luego es un
conjunto finito y ordenado de elementos homogneos.
El tipo de dato almacenado en un arreglo puede ser cualquiera: numrico, carcter o
lgico. Por ejemplo se puede almacenar en un arreglo los nombres de los estudiantes
de un curso, la temperatura mnima registrada en una ciudad durante una semana o las
coordenadas de una figura en el plano cartesiano.
Los arreglos pueden ser: unidimensionales, bidimensionales o multidimensionales. A
los arreglos de una dimensin se denominan listas o vectores, a los de dos dimensiones
se les llama tablas o matrices, a los de ms dimensiones se les denomina arreglos de n
dimensiones.
talla
0
1.35
1.45
1.65
1.23
1.66
1.42
1.50
1.75
CONTENIDO
1.65
ELEMENTO
talla[0] talla[1] . . .
1.60
Talla[9]
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 posicin 1, a[1] es el nombre del elemento que est en la posicin 2.
En
general, el elemento i-simo, a[i], est en la posicin i+1. Estos nmeros se
denominan ndices o subndices del arreglo.
CENTRO DE SISTEMAS
En este caso cada uno de los 10 elementos del arreglo edades asume su valor. En el
caso de que le faltaran valores, los asumira 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.
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.
2
CENTRO DE SISTEMAS
CODIGO EN C++
Inicio
C1 0
C2 0
para X 0,9,1 hacer
leer EDAD[X]
si (EDAD[X] >= 18) entonces
C1 C1+1
sino
C2 C2 + 1
fin si
fin para
escribir C1,C2
Fin
CENTRO DE SISTEMAS
CENTRO DE SISTEMAS
int tabla[2][3]={51,21,26,18,20,30};
otra forma:
int tabla[2][3]={{51,21,26},{18,20,30}};
21
20
26
30
float ventas[12][5]={0.0};
}
En esta sentencia se requiere utilizar dos instrucciones repetitivas anidadas,
se recomienda que sean for, de tal forma que la primera controla los renglones y la
segunda o ms interna, controla las columnas.
As cuando termine de llenar los
elementos del primer rengln, al hacer el recorrido por cada una de las columnas, se
pasa al segundo rengln, se inicia de nuevo el proceso de llenar todo el rengln y se
pasa al tercero y as sucesivamente hasta terminar toda la tabla.
CENTRO DE SISTEMAS
Ejemplo.
Inicio
para J 0,19,1 hacer
para K 0,6,1 hacer
Leer NOTA[J],[K]
fin_para
fin_para
para J 0,19,1 hacer
para K 0,6,1 hacer
Escribir NOTA[J],[K]
fin_para
fin_para
fin
7.3.
CODIGO EN C++
//Programa que carga un vector con las edades de 10 alumnos
//calcula la cantidad de almnos mayores y menores de edad
#include<iostream>
using namespace std;
int main()
{
int J, K;
float NOTA[20][6];
//Captura de notas
for(J=0; J<=19; J++)
{
cout<<"\nEscriba las notas del estudiante " <<J+1<<endl;
for(K=0; K<=5; K++)
cin>>NOTA[J][K];
}
//Impresion de notas
cout<<endl<<endl;
for(J=0; J<=19; J++)
{
for(K=0; K<=5; K++)
cout<<"\n"<<NOTA[J][K];
cout<<endl;
}
system("pause");
return 0;
}
ARREGLOS MULTIDIMENSIONALES
CENTRO DE SISTEMAS
CENTRO DE SISTEMAS
CENTRO DE SISTEMAS
EJEMPLO 2
Hacer un programa en C++ que muestre el nmero de pasajeros que lleva un
avin. Cada avin tiene 50 filas de asientos por 6 columnas.
Para efectos de
sistematizacin, un asiento ocupado se representa mediante un uno y un asiento libre
con un cero.
/*PROGRAMA QUE MUESTRA EL NUEMRO DE PASAJEROS QUE LLEVA UN AVION EL AVION TIENE
50 FILAS DE ASIENTOS POR SEIS COLUMNAS UN ASIENTO OCUPADO SE
REPRESENTAMEDIANTE UN UNO Y UN ASIENTO LIBRE CON UN CERO*/
#include<iostream>
using namespace std; int
main()
{
int avion [50][6],o=0,d=0,i,j;
for (i=0; i<50; i++)
{
for(j=0; j<6; j++)
{
cout<<"INGRESE (1) SI EL ASIENTO ESTA OCUPADO Y (0) SI ESTA
DESOCUPADO"<<endl;
cout<<"de la fila "<<i+1<<" columna
"<<j+1<<endl;
cin>>avion[i][j];
if(avion[i][j]==1)
o++;
else
if(avion[i][j]==0)
d++;
}
}
for (i=0; i<50; i++)
{
for(j=0; j<6; j++)
{
cout<<avion[i][j]<<"\t";
cout<<"\n\n";
}
}
cout<<"EL NUMERO DE ASIETOS OCUPADOS ES "<<o<<endl;
cout<<"EL NUMERO DE ASIENTOS LIBRES ES "<<d<<endl;
system("pause");
return 0;
}
CENTRO DE SISTEMAS
10