Está en la página 1de 22

ARREGLOS EN C++

Prof. Oscar Tinoco G.


Arreglos o Vectores
Los arreglos son series de elementos (variables) del
mismo tipo ubicados consecutivamente en la memoria
y pueden ser referenciados individualmente agregando
un índice a un nombre único.
Por ejemplo, un arreglo que contiene 5 valores enteros de tipo
int llamado billy podría representarse así:

Como cualquier otra variable, un arreglo debe ser


declarado antes de ser usado. Una declaración típica de
un arreglo en C++ es:
tipo nombre [cantidad_elementos];
Definición
Definición:
Un7 arreglo es una colección ordenada de elementos de
un mismo tipo. Ordenada significa que cada elemento
tiene una ubicación determinada dentro del arreglo y
debemos conocerla para accederlo.
Edad
1 9
2 10
3
Elemento ó
6
4
Componen
Índice 8
5 10
Declaración de un Arreglo

Declaración de un arreglo
float talla[25];

Tamaño (rango)

nombre

tipo
Inicialización de arreglos
 Cuando se declara un arreglo de alcance local (dentro de una
función), si no se especifica lo contrario, no será inicializado, así
que su contenido es indeterminado hasta que se almacene
algún valor dentro de él.

 Además, cuando se declara un arreglo, se tiene la posibilidad de


asignar valores iniciales a cada uno de sus elementos usando
llaves { }. Por ejemplo:
int billy [5] = { 16, 2, 77, 40, 12071 };
 C++ incluye la posibilidad de dejar los corchetes vacíos, [],
siendo el tamaño del arreglo definido por el número de valores
incluidos dentro de las llaves { }:
int billy [] = { 16, 2, 77, 40, 12071 };
Acceso a valores arreglo
 Siguiendo con el ejemplo previo en el cual
Arreglo tenía 5 elementos de tipo int, el
nombre que se puede usar para referenciar
cada elemento es:

 Por ejemplo, para almacenar el valor 75 en el tercer


elemento:
billy[3]=75
Definición de vector
 Conjunto de datos homogéneos
 Tipificación:
 Elemento: Cada uno de las unidades que forman el vector
 Rango: Cantidad de elementos que contiene
 Índice: Número identificativo del elemento

0 1 2 3 4 5 6 7 8 9
12 01 22 56 32 09 4 3

Rango = 10
Resumen
 Declaración
int datos[3];

 Inicialización
int datos[3] = {1,4,8};

 Acceso a los elementos


datos[0] = a;
a = datos[2]; Índice
b = a * datos[N-1] - 5;

 Entrada : Elemento
cin>>datos[0];
 Salida :
cout<< datos[0]);
Inicio

i, n: enteros

Ejemplo 1
Sueldos[i]: real
ingresar los 12
sueldos a un arreglo
n
denominado Sueldos

Sueldos[i]

Inicio
#include <iostream>
using namspace std;
main()
{
int i, n;
float Sueldos[100];
cout << "Ingrese tamanio arreglos"<<endl;
cin>> n;
for ( i=1; i<= n; i++)
{
cout<< "Ingrese sueldo:";
cin>> Sueldos[i];
}
}
#include <iostream>
using namspace std;
main()
{
int i, n;
float Sueldos[100];
cout << "Ingrese tamanio arreglos"<<endl;
cin>> n;
for ( i=1; i<= n; i++)
{
cout<< "Ingrese sueldo:";
cin>> Sueldos[i];
}
cout<<endl<< "Elementos del arreglo Sueldos"<< endl;
for ( i=1; i<= n; i++)
{
cout<< Sueldos[i]<<endl;
}
return 0;
}
Ejemplo 2: Programa que genera un vector, denominado
numeros, para almacenar 10 números enteros leídos
desde teclado y lo visualiza una vez creado.
#include <iostream.h>
main () {
int numeros[10], i;

for (i=0;i< 10;i++) {


cout<<"\n Introduce un numero ";
cin>>numeros[i];
}
for (i=0;i<10;i++)
cout<< i+1<<"\t"<< numeros[i]<<endl;
system("pause");
}
Ejercicio 1
Escribir un programa que llene y
muestre un arreglo con los números
comprendidos entre 0 y 20 divisibles por
3.
#include <iostream>
main()
{
int i,A[100],k=0, tope;
k=1;
for(i=1;i<=20;i++) {
if(i%3==0){
A[k]=i;
k++;}
}
tope=k;
for(k=1;k<tope;k++) {
cout<<A[k]<<endl;
}
return 0;
}
Ejercicio 2
a) Ingresar n valores a un arreglo y luego
mostrar el promedio de ellos y todos los
valores que son mayores que dicho
promedio. El valor de n debe ser ingresado
por teclado
b) Repetir el ejercicio anterior, pero esta vez
mostrar los números pares y la posición del
primer par ingresado
#include <iostream>
main()
{
int n, A[100], i,s=0;
float prom;
cout<<"Ingrese el valor de n: ";
cin>>n;
cout<<"Ingrese nro: "<<endl; cout<<"Nros mayores que el promedio "<<endl;
for (i=1;i<=n;i++)
for (i=1;i<=n;i++)
{
cin>>A[i]; {
s=s+A[i]; if(A[i]>prom)
} cout<<A[i]<<endl;
prom=s*1.0/n; }
cout<<"Promedio "<<prom<<endl; return 0;
}
main()
{
int n, A[100], i,pos,s=0,k=0;
float prom;
cout<<"Ingrese el valor de n: ";
cin>>n;
cout<<"Ingrese nro: "<<endl;
for (i=1;i<=n;i++)
{
cin>>A[i];
s=s+A[i];
}
prom=s*1.0/n;
cout<<"Promedio "<<prom<<endl;
cout<<"Nros pares: "<<endl;
for (i=1;i<=n;i++)
{ if(k>1)
if(A[i]%2==0){
k++; cout<<"Primer par ingresado en posicion: "<<pos<<endl;
if(k==1) else
pos=i; cout<<" Ninguno es par"<<endl;
cout<<A[i]<<endl;} return 0;
}
}
Ejercicio 3
La Gerencia de Ventas de una empresa le ha
encargado a usted almacenar las ventas
totales obtenidas en cada mes del año, en
un arreglo denominado Ventas.
a) Mostrar las ventas mensuales

b) Mostrar el mes con la mayor venta y el mes


con la menor venta
c) Mostrar el promedio de ventas
Ejercicio 4
Escribe un programa que dado un arreglo A de
tamaño N tal que todos sus elementos son 0 o 1,
encuentre otro arreglo B de tamaño N, tal que la
suma vectorial de dichos arreglos sea un vector C, en
el que todas sus componentes tienen magnitud 1.
#include <iostream.h>
main()
{
int i,A[100],B[100],C[100];
cout<<"Ingrese nro: "<<endl;
for(i=1;i<=10;i++) {
cin>>A[i];
}
for(i=1;i<=10;i++) {
C[i]=1;
}
for(i=1;i<=10;i++) {
B[i]=C[i]-A[i];
cout<<i<<" A[i] "<<A[i]<<" + B[i] "<<B[i]<<" = "<<C[i]<<endl;
}
system("PAUSE");
}
Arreglos bidimensionales
 Se pueden describir como tablas de doble entrada.
Por ejemplo si jimmy representa un arreglo bidimensional de 3 por 5
con valores de tipo int. La forma de declarar un arreglo de este tipo
es: int jimmy [3][5];
 La forma de referenciar al elemento de la segunda fila (fila
número 1) y cuarta columna (columna número 3) es:

También podría gustarte