You are on page 1of 9

Instituto de Educacin Superior Tecnolgico Privado

JUAN BOSCO DE HUNUCO











































Arreglos Unidimensionales

Contenido
- Arreglos (Arrayas)
- Arreglos Unidimensionales
- Declaracin
- Indexacin

Fredy Alonzo Rojas Berrospi
Lenguaje de Programacin II
Debug
and Deploy
Escribir
Cdigo
Acceso
a datos
Uso de Visual
Studio .NET
Depurar
e implantar
Crear
Interfaz
Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi

- Ejemplos


Introduccin
Los Arreglos se definen como una coleccin finita, homognea y ordenada de elementos.
Finita: Todo arreglo tiene un lmite, es decir, se debe determinar cul ser el nmero mximo de
elementos que podrn formar parte del arreglo.
Homognea: Todos los elementos de un arreglo son del mismo tipo (todos enteros, todos reales,
etc., pero nunca una combinacin de distintos tipos).
Ordenada: Se puede determinar cul es el primer elemento, el segundo, el tercero, y el n-simo
elemento.

Un array (lista o tabla) o arreglos es una secuencia de objetos del mismo tipo. Los objetos se llaman
elementos del array y se numeran consecutivamente 0, 1, 2, 3 ... El tipo de elementos almacenados
en el array puede ser cualquier tipo de dato de C++, incluyendo clases definidas por el usuario.
Un array puede contener, por ejemplo, la edad de los alumnos de una clase, las temperaturas de cada da
de un mes en una ciudad determinada, o los alumnos de un curso. Cada tem del array se denomina
elemento.
Los elementos de un array se numeran, como ya se ha comentado, consecutivamente 0, 1, 2, 3,...
Estos nmeros se denominan valores ndice o subndice del array. El trmino subndice se utiliza ya que se
especifica igual que en matemticas como una secuencia tal como a0, a1, a2 ... Estos nmeros localizan
la posicin del elemento dentro del array, proporcionando acceso directo al array.

Si el nombre del array es a, entonces a[0] es el nombre del elemento que est en la posicin 0, a[1] es el
nombre del elemento que est en la posicin 1, etc. En general, el elemento i-simo est en la posicin i-1.
Este mtodo de numeracin se denomina indexacin basada en cero. Su uso tiene el efecto de que el ndice
de un elemento del array es el nmero de pasos desde el elemento inicial a[0] a ese elemento. Por
ejemplo, a[3] est a 3 pasos o posiciones del elemento a[0]. De modo que si el array tiene n elementos,
sus nombres son a[0], a[1], ... , a[n-1].

Un arreglo puede representarse grficamente como se muestra:

Un arreglo tiene la caracterstica de que puede almacenar a N elementos del mismo tipo y adems permite
el acceso a cada uno de estos elementos. As, se distinguen dos partes en los arreglos:
Los componentes hacen referencia a los elementos que componen o forman el arreglo. Es decir, son
los valores que se almacenan en cada una de sus casillas.
Los ndices son los que permiten accesar a los componentes del arreglo en forma individual.
Para hacer referencia a un componente de un arreglo se necesita:
El nombre del arreglo.
El ndice del elemento.
En la figura representamos un arreglo y se indican sus componentes y sus ndices.
Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi



Arreglos Unidimensionales o Vectores
Un arreglo de una dimensin es una lista de variables, todas de un mismo tipo a las que se hace referencia
por medio de un nombre comn. Una variable individual del arreglo se llama elemento del arreglo. Es la
estructura natural para modelar listas de elementos iguales.



Los vectores pueden tener datos no numricos, es decir, tipo "caracter". Por ejemplo un vector que
representa los pases de Europa:

Cada elemento de un vector se puede procesar como si fuese una variable simple al ocupar una posicin de
memoria. As:

NUMEROS[] = 72
Almacena el valor entero o real 72 en la posicin 25. Del vector NUMEROS y la instruccin de salida
cout<<NUMEROS[]
Visualiza el valor almacenado en la posicin 25, en este caso 72.

*Esta propiedad significa que cada elemento de un vector es accesible directamente y es una de las ventajas
ms importantes de usar un vector: almacenar un conjunto de datos.


Declaracin
Un arreglo se define indicando el tipo de arreglo, es decir, el tipo de datos de todos los elementos del
arreglo, luego se le da un nombre al arreglo y finalmente se le da un tamao.

Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi

<tipo de dato> nombreArreglo[Tamamao];

Por ejemplo tengo un arreglo de nmeros enteros:
int arreglo[4];

En el caso anterior el tipo del arreglo es entero (int).
Se le da una dimensin al arreglo que va entre los caracteres '[' y ']', en el caso anterior la dimensin es 4,
esto quiere decir que en la memoria se reservaron 4 posiciones para almacenar 4 valores enteros.

Indexacin (Inicializar un Arreglo)
Para poder hacer referencia a los elementos del arreglo se utilizan los ndices los cuales comienzan desde
cero.

Ejemplo:
- Das de la semana
- String D[7] entonces elemento por elemento:
- D*0+=Lunes
- D*1+=Martes
- D*2+=Miercoles
- D*3+=Jueves
- D*4+=Viernes
- D*5+=Sabado
- D*6+=Domingo

Inicializacin
Existen varias maneras de inicializar un arreglo, una manera muy sencilla es poner entre llaves ({ }), los
elementos del arreglo separados por comas.

arreglo = {51, 60, 70, 95};

Tambin podemos utilizar la estructura de control for para inicializar los elementos del arreglo

a[] = {5,15,20,25,30};
float b[] = {10.5,20.5,30.5,12.5,50.5}
Producto product[] = {celular,calculadora,camara,ipod,usb}
a[ ]= 5
a[ ]= 15 Como hay 5 elementos en cada array,
a[ ]= 20 automticamente se le asignar 5 espacios de
a[ ]= 25 memoria a cada vector. Pero si trato de crear el
a[ ]= 30 vector de la forma int a[]; el compilador
mostrar un error, porque no se indic el tamao del vector ni tampoco inicializ sus
elementos.




Acceso a los elementos de un arreglo
Puedo acceder a un elemento por medio de un subndice, por ejemplo si yo quiero acceder al primer
elemento tendr que hacerlo de esta manera:
int nro = arreglo[0];
Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi


En la variable nro se almacenara el valor de 51, para acceder al segundo valor:
nro = arreglo[1];

En la variable nro se almacenar el valor de 60, y as sucesivamente con los dems elementos.

arreglo[0] 51
arreglo[1] 60
arreglo[2] 70
arreglo[3] 95

Si nos damos cuenta tener un arreglo es mucho ms ventajoso que tener definidas 4 variables.

EJEMPLOS

1. Se desea ingresar las notas finales de 10 alumnos de la materia de Introduccin
a la programacin, para luego emitir un reporte del promedio de todas las
notas.


#include <iostream>
Using namespace std;

int main()
{
const int TAM = 10;
int i, promedio=0;
int arreglo[TAM];
for(i=0; i < TAM ; i++)
{
cout<<"Ingrese la nota del estudiante #"<<i+1<<" :\n";
cin>>arreglo[i];
}

for(i=0; i < TAM ; i++)
promedio = promedio + arreglo[i];

promedio = promedio / TAM ;

cout<<"El promedio de las notas es: "<<promedio;

system(PAUSE);
Return 0;
}



2. Que rellene un array con los 100
primeros nmeros enteros
positivos y lo muestre en forma
ascendente.

#include<iostream>
Using namespace std;

int main()
{
int x, tabla[100];

for (x=0;x<100;x++)
{
tabla[x]=x+1;
}

for (x=0;x<100;x++)
{
cout<<tabla[x]<<endl;
}

system("PAUSE");
return 0;
}

3. Que rellene un array con los 100
primeros nmeros enteros
positivos y lo muestre en forma
descendente.

#include<iostream>
Using namespace std;

int main()
{
int x, tabla[100];

for (x=0;x<100;x++)
{
tabla[x]=x+1;
}

for (x=99;x>=0;x--)
{
cout<<tabla[x]<<endl;
}

system("PAUSE");
return 0;
}

4. Que rellene un array con los nmeros primos comprendidos entre 1 y 100 y los
muestre en pantalla en orden ascendente.
#include <iostream>
Using namespace std;
int main()
{ int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{ cont=0;
for (z=1;z<=x;z++)
{ if (x%z==0)
{ cont++; }
}
if (cont==2 || z==1 || z==0){
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
cout<<abla[x]<<endl;
system("PAUSE");return 0;}
Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi

EJERCICIOS PROPUESTOS

1. Que rellene un array con los nmeros impares comprendidos entre 1 y 100 y
los muestre en pantalla en orden ascendente.

2. Que lea 10 nmeros por teclado, los almacene en un array y muestre la suma,
resta, multiplicacin y divisin de todos.

3. Que lea 10 nmeros por teclado, los almacene en un array y los ordene de
forma ascendente.
4. Que lea 10 nmeros por teclado, 5 para un array y 5 para otro array distinto.
Mostrar los 10 nmeros en pantalla mediante un solo array.

5. Que lea 5 nmeros por teclado, los copie a otro array multiplicados por 2 y
muestre el segundo array.

6. Que lea 5 nmeros por teclado, los copie a otro array multiplicados por 2 y los
muestre todos ordenados usando un tercer array.

7. Que rellene un array con los 100 primeros nmeros pares y muestre su suma.

8. Que lea 10 nmeros por teclado, los almacene en un array y muestre la
media.

9. Que mediante un array almacene nmeros tanto positivos como negativos y
los muestre ordenados.

10. Hacer un programa que calcule la nota de un alumno en una prueba 10
preguntas de opciones mltiples ('a',...o,'e'). Cada pregunta se evala con dos
puntos. Debe inicializa un arreglo con las respuestas correctas.
El programa debe mostrar el nombre, el arreglo de respuestas correctas y el
arreglo de respuestas del alumno y la nota del alumno.













Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi


Arreglos Bidimensionales

Contenido
- Arreglos Bidimensionales
- Declaracin
- Inicializacin
- Ejemplos

Arreglos Bidimensionales (Matrices)
Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional est
simultneamente en una fila y en una columna.
En matemticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de
Ingeniera.
En un arreglo bidimensional, cada elemento tiene una posicin que se identifica mediante dos ndices: el de
su fila y el de su columna.

Declaracin
La declaracin de un arreglo consiste en establecer las caractersticas del arreglo y sus elementos, por
medio de la siguiente sintaxis:




Ejemplo:
- Int M[2][2]; - String C[100][10] - char Mapa[5][6] - double Suma[5][5]

Inicializacin:
Un arreglo es un objeto que, cuando es creado por el compilador, se le asignan automticamente valores
iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios:
Si el tipo del arreglo es numrico, a sus elementos se les asigna el valor cero.
Si el tipo del arreglo es char, a sus elementos se les asigna el valor '\u0000'.
Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.
Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.
Cuando se requiere asignar valores iniciales diferentes de los predeterminados, es posible agrupar las
operaciones de declaracin, creacin e inicializacin en una sola instruccin.

Ejemplo:
- int Ubi[2][2] = {{1,2},{3,4}};
- String Nom*3+*2+ = ,,Hugo, Jefe-,,Paco, Operador-,,Luis, Ayudante--;
- float M[2][5]={{1.5,0,4,-6.5,2},{2.3,9,3.5,4.8,6.2}};






<Tipo de Dato> Nombre_Matriz[ Nro. filas ][ Nro. columnas]
Instituto de Educacin Superior Tecnolgico Privado
JUAN BOSCO DE HUNUCO Lenguaje de Programacin II
Prof. Fredy A. Rojas Berrospi

Acceso:
Se puede acceder a los valores de los elementos de un arreglo bidimensional a travs del nombre del
arreglo y dos subndices. Los subndices deben escribirse entre corchetes y representa la posicin del
elemento en el arreglo. As, podemos referirnos a un elemento del arreglo escribiendo el nombre del
arreglo y los subndices del elemento entre corchetes. Los valores de los subndices empiezan en cero para
el primer elemento, hasta el tamao del arreglo menos uno.

Ejemplo:

int POS[5][10]; // Crea el arreglo posicin , con 50 elementos de tipo entero.
int x;
POS[ 3, 5] = 3 ;
x = POS[ 3, 5] ;