Professional Documents
Culture Documents
LIMA-2015
1
Arreglos
Los arreglos son estructuras de datos que almacenan
datos del mismo tipo.
Los arreglos son entidades estticas en cuanto a que su
tamao no cambia una vez que han sido creadas.
Cada uno de los elementos de los que consta un arreglo
tiene asignado un ndice que indica la posicin en la que
se encuentra almacenado.
El primer elemento del arreglo tiene ndice cero (0) y el
ltimo tiene ndice tamao_del_arreglo 1.
Tipos de
Arreglos
VECTO
R
Vector
ndice
tamao-1
3
SINTAXIS:
tipoDeDato nombreDelArreglo[ ] ;
(unidimensional)
EJEMPLO:
ndice
1
10
2
20
3
30
4
40
5
50
60
tamao = 6
ndice de la ltima posicin = tamao - 1 = 5
4
EJEMPLO:
EJEMPLO 1:
#include <iostream.h>
#include <conio.h>
void main()
{
int arreglo[6];
int i,j;
for( i=0; i<6; i++)
{
cout<<"Ingrese numeros: ";cin>>arreglo[i];
}
cout<<"Valores del arreglo..."<<endl;
for( j=0; j<6; j++)
{
cout<<arreglo[j]<<endl;
}
getch();
}
6
EJEMPLO 2:
#include <iostream.h>
#include <conio.h>
void main()
{
int sueldo[20];
int c=0;
float prom, suma=0;
cout<<"INGRESO DE SUELDOS"<<endl;
cout<<"----------------"<<endl;
for( int i=0; i<20; i++)
{
cout<<"Ingrese sueldo: ";cin>>sueldo[i];
suma=suma+ sueldo[i];
c++;
prom=suma/c;
}
cout<<"\nSUELDOS MENORES DEL
PROMEDIO"<<endl;
cout<<"--------------------------"<<endl;
for ( int i=0; i<20; i++)
if(sueldo[i]<350)
{
cout<<sueldo[i]<<" ";
}
EJEMPLO 3:
Disear un programa que ingrese los sueldos de 10
empleados de una empresa, almacenarlos en un
arreglo y determine el menor y el mayor sueldo y el
sueldo promedio.
#include <iostream.h>
#include <conio.h>
void main()
{
int sueldo[10];
int c=0;
float prom, suma=0,mayor,menor;
cout<<"INGRESO DE SUELDOS"<<endl;
cout<<"----------------"<<endl;
for( int i=0; i<10; i++)
{
cout<<"Ingrese sueldo: ";cin>>sueldo[i];
suma=suma+ sueldo[i];
c++;
prom=suma/c;
}
menor=sueldo[0];
for ( int i=0; i<10; i++)
{
if(sueldo[i]<menor)
menor=sueldo[i];
}
10
mayor=sueldo[0];
for ( int i=0; i<10; i++)
{
if(sueldo[i]>mayor)
mayor=sueldo[i];
}
cout<<"\nSUELDO MAYOR"<<endl;
cout<<"------------\n";
cout<<mayor;
cout<<"\n\nSUELDO MENOR"<<endl;
cout<<"------------\n";
cout<<menor;
cout<<"\n\nPROMEDIO"<<endl;
cout<<"--------\n";
if(c!=0)
{
cout<<prom;
}
getch();
}
MATRICES
La forma general de declaracin de un arreglo
bidimensional es la siguiente:
tipo nombre[numFil][numCol];
Donde:
Tipo es el tipo de base del arreglo y puede ser
un tipo incorporado (int, float, char, double, etc)
o un tipo abstracto (un tipo creado por el
programador como es el caso de una estructura)
Nombre es el nombre del arreglo
numFil es el nmero de filas del arreglo
numCol es el nmero de columnas del arreglo
11
venta[0][0] venta[0][1]
venta[0]
[2]
venta[0][3]
venta[1][0] venta[1][1]
venta[1]
[2]
venta[1][3]
venta[2][0] venta[2][1]
venta[2]
[2]
venta[2][3]
venta[3][0] venta[3][1]
venta[3]
[2]
venta[3][3]
12
13
14
16
Conclusiones:
Cuando se va a hacer un recorrido por filas el
primer for debe ser el for de filas
Cuando se va a hacer un recorrido por columnas el
primer for debe ser el for de columnas
Tanto el recorrido por filas como el recorrido por
columnas el nombre del elemento se indica por la
misma expresin arreg[f][c] donde arreg, f y c tienen
los significados indicados anteriormente
18
Ejercicio 01
Calcula la suma de los elementos de un arreglo
bidimensional de dimensin sum[3][3]
19
void main()
{
int s=0,i,j;
int n[3][3];
cout<<"INGRESAR ELEMENTOS DEL
ARREGLO"<<endl;
cout<<"------------------------------"<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Numero ("<<i<<","<<j<<"):
";cin>>n[i][j];
}
}
cout<<"\nMUESTRA ELEMENTOS DEL
ARREGLO"<<endl;
cout<<"------------------------------"<<endl<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<setw(5)<<n[i][j]<<" ";
}
cout<<endl; }
20
EJEMPLO 02:
Almacenar
las
notas
de
alumnos
21
#include <conio.h>
#include <iostream.h>
void main () {
int nota[5][4],i,j;
float promedio[5]={0,0,0,0,0};
for (i=0;i<5;i=i+1){
cout<<"ingrese las notas de alumno "<<i+1<<" : \n";
for (j=0;j<4;j=j+1){
cout<<"nota "<<j+1<<" : ";
cin>>nota[i][j];
}
cout<<endl;
}
for (i=0;i<5;i=i+1){
for (j=0;j<4;j=j+1){
promedio[i]=promedio[i]+nota[i][j];
}
promedio[i]=promedio[i]/4;
}
cout<<"el promedio de los alumnos son: \n";
for (i=0;i<5;i=i+1){
cout<<"alumono "<<i+1<<" : "<<promedio[i]<<endl;
}
getch();
}
22
EJEMPLO 03:
//Disear un programa que permita ingresar valores en
una matriz //de 3x3, obteniendo como resultado el mayor
elemento ingresado
23
//Salida de datos
cout<<"\n\n";
for(int c=0; c<3; c++)
{
for(int d=0; d<3; d++)
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
int main()
{
int num[3][3],mayor;
//lectura de filas
for(int a=0; a<3; a++)
{
for(int b=0; b<3; b++)
{
cout<<"Numero ["<<(a+1)<<"],
["<<(b+1)<<"]:";cin>>num[a][b];
}
}
cout<<setw(5)<<num[c][d]<<"";
cout<<endl;
}
mayor=num[0][0];
for(int m=0; m<3; m++)
{
for(int n=0; n<3; n++)
{ if(num[m][n]>mayor)
mayor=num[m][n];
}
}
cout<<"El numero mayor es: "<<mayor<<endl;
getch();
24
EJEMPLO 04:
25
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
int main()
{
int a[3][3];
int b[3][3];
int c[3][3];
//ingreso de datos del arreglo a
cout<<"\nIngrese datos del arreglo a: "<<endl;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Ingrese numero: ";cin>>a[i][j];
}
}
//ingreso de datos del arreglo b
cout<<"\nIngrese datos del arreglo b: "<<endl;
for(int m=0; m<3; m++)
{
for(int n=0; n<3; n++)
{
cout<<"Ingrese numero: ";cin>>b[m][n];
}
}
26
cout<<"Fin de datos"<<endl;
cout<<"Matriz a[3][3]"<<endl;
for(int c=0; c<3; c++)
{
for(int d=0; d<3; d++)
cout<<setw(5)<<a[c][d]<<"";
cout<<endl;
}
cout<<"Matriz b[3][3]"<<endl;
for(int c=0; c<3; c++)
{
for(int d=0; d<3; d++)
cout<<setw(5)<<b[c][d]<<"";
cout<<endl;
}
cout<<"suma a[3][3] + b[3][3]"<<endl;
for(int k=0; k<3; k++)
{
for(int q=0; q<3; q++)
{
c[k][q]=a[k][q]+b[k][q];
cout<<setw(5)<<c[k][q]<<"";
}
cout<<endl;
}
getch();
}