Sei sulla pagina 1di 25

ARREGLOS UNIDIMENSIONALES

El objetivo de la presente sesión es:

Como procesar grandes cantidades de datos y


almacenarlo en memoria.
Identificar un arreglo unidimensional.
Declarar un arreglo unidimensional y a la vez almacenar
datos.
Mostrar los datos y hacer operaciones con arreglos.
Arreglos como parámetros en una función y ejemplos de
aplicación

ING. FELIX HUARI 1


ARREGLOS UNIDIMENSIONALES
Un array es una estructura de datos en el cual
almacenamos una colección de datos.
También se denomina variables subindicadas.
Almacenan los elementos en memoria en
posiciones consecutivas.
Se identifica con un único nombre de variable y es
del mismo tipo.
Es una lista de un numero finito de n elementos.

ING. FELIX HUARI 2


ARREGLOS UNIDIMENSIONALES

También se conoce como vector o lista.


Almacena datos homogéneos (datos del mismo tipo).
El tamaño es fijo, significa que este debe ser conocido
en tiempo de compilación del programa.
La reservación de memoria se realiza durante la
declaración.
Se accede directamente a cada uno de ellas a través
del nombre y el índice.

ING. FELIX HUARI 3


ARREGLOS UNIDIMENSIONALES
Nombre de Variable
Subindicada
Costo

Indice 0 12.65 Contenido

1 45.60
Variable simple
2 50.74
Costo
12.65 13.91
3
125.02
4
61.43
5 ING. FELIX HUARI 4
ARREGLOS UNIDIMENSIONALES
En el ejemplo anterior el nombre de la variable es
único llamado Costo.
El Tamaño es de 6 (posee 6 elementos).
Son del mismo tipo (almacenan números reales).
El tercer elemento es Costo[2] y su contenido es
54.74

ING. FELIX HUARI 5


NOMENCLATURA

Para referirse a un elemento en particular, se


escribe el nombre del array o vector.
El índice, debe estar encerrado entre corchetes( [ ]
).
El índice debe ser una constante numérica o char,
puede ser un una expresión o una variable.
Subindice

Ventas[ i*2+1 ]
Costo[ 2 ]
Nombre de Variable

ING. FELIX HUARI 6


DECLARACION DE UNA ARREGLO
Implica reservar la cantidad de memoria que esta dado
por M.
Para declarar se utiliza la siguiente sintaxis:

<Tipo dato> <Nombre de Variable>[M];

Donde: M, indica el tamaño del array( vector).


M, puede ser una variable o una constante numérica
entero y positivo.
Podemos declarar mas de un vector del mismo tipo,
para ello se separan con comas(,).

ING. FELIX HUARI 7


DECLARACION DE UNA ARREGLO
Para declarar la variable Costo se procede así:
float Costo[6];
int A[50], B[N];

A, Es un vector de 50 elementos y B tiene N


elementos, antes N debe ser conocido, ambos
almacenan números enteros.
Al declarar una variable se reserva el espacio en la
memoria, es decir el vector A tiene 50 posiciones de
almacenamiento uno a continuación de otro.

ING. FELIX HUARI 8


ASIGNACION DE DATOS A UN ARREGLO
Para asignar datos a un vector o arreglos se puede
realizar de dos formas:
Durante al declaración
Mediante la instrucción cin para el caso de datos
numéricos, una palabra o un solo carácter.
Asignación de datos durante al declaración

Para ello se usa la siguiente sintaxis:

a) <tipo dato> Variable[]={Lista de datos};

ING. FELIX HUARI 9


ASIGNACION DE DATOS A UN ARREGLO
b) <tipo dato> Variable[N]={Lista de datos};

La lista de datos debe ir separado por comas

El ingreso de datos desde el teclado

Para ello debe utilizar las instrucción:


 cin: si va leer datos numéricos.

 Funciones de cadena: Para leer datos de tipo cadena.

ING. FELIX HUARI 10


ASIGNACION DE DATOS A UN ARREGLO
Ejemplo:

char car[]={‘a’, ‘*’, ‘T’, ‘9’, ‘?’, ‘/’};


car[0] a
car[1] *
car[2] T
Nombre
del vector 9
car[3]
Contenido
car[4] ?
Iíndice
/
car[5] ING. FELIX HUARI 11
ASIGNACION DE DATOS A UN ARREGLO
int Q[]={80, 60, 25, 10, 75, 40};

Q[0] 80

Q[1] 60

Q[2] 25

Q[3] 10
Nombre
del vector Q[4] 75
Q[5] 40 Contenido
Iíndice
ING. FELIX HUARI 12
VECTOR UNIDIMENSIONALES
float Costo[6]={12.65,45.6, 50.74,13.91,125.02,61.43};

Costo[0] 12.65
Costo[1] 45.60 Contenido

Costo[2] 50.74

Costo[3] 13.91
Nombre
del vector
Costo[4]
125.02
61.43
Costo[5]
Iíndice
ING. FELIX HUARI 13
EJEMPLO DE APLICACIÓN
/* Programa que inicializa un vector con números enteros y luego lo
escribe */

#include <iostream>
using namespace std;
int main()
{ int i;
int x[]={100,50,40,30,20,10,5}; // inicializando el vector con datos
for(i=0;i<7;i++)
cout<<“\tX["<<i<<"]="<<x[i]<<endl;
}
En este ejemplo no es necesario el tamaño del vector.
Los datos están como parte del programa.
El tamaño del vector lo determina la cantidad de elementos del vector.

ING. FELIX HUARI 14


ARREGLO COMO PARAMETROS DE UNA
FUNCION

Una función también puede contener como parámetro un


arreglo.
Un arreglo como parámetro de una función siempre
trabaja por defecto por referencia.
Cuando el parámetro es una arreglo no lleva el operador
de dirección (&) que indica que es por referencia.
La declaración del parámetro puede darse de la siguiente
manera:

ING. FELIX HUARI 15


ARREGLO COMO PARAMETROS DE UNA
FUNCION
a) <tipo dato> NombreFuncion(<tipo dato> Variable[N]);

b) <tipo dato> NombreFuncion(<tipo dato> Variable[ ]);

La dimensión del arreglo puede colocar


explícitamente o se puede dejar en blanco.

ING. FELIX HUARI 16


ARREGLO COMO PARAMETROS DE UNA
FUNCION
 Como ejemplo de declaración de la funcion podemos tener
como:

int ProcesaNumeros(int A[50], int m);

void LeerDatos(float p[], int q[60], int n);

float Totales(float monto Q[N], int m, bool p);


Para este ultimo caso para que sea valido la declaración
del arreglo, N debe ser conocido.

ING. FELIX HUARI 17


EJEMPLO DE APLICACIÓN
//Programa que captura 5 caracteres cualesquiera y luego lo escribe
#include <iostream>
using namespace std;
#define N 5
//Definicion de funciones
void Input(char x[])
{ int i=0;
cout<<"\tLECTURA DE DATOS\n";
while(i<N)
{ cout<<"\tA["<<i<<"]=";
cin>>x[i]; i++;
}
}
ING. FELIX HUARI 18
EJEMPLO DE APLICACIÓN

void Output(char x[])


{ int i;
cout<<"\n\tEL CONTENIDO DEL VECTOR A\n";
i=0;
while(i<N)
{ cout<<"\tA["<<i<<"]="<<x[i]<<endl;
i++;
}
}

ING. FELIX HUARI 19


EJEMPLO DE APLICACIÓN
//Funcion principal
int main()
{ char A[N];
Input(A);
Output(A);
}

ING. FELIX HUARI 20


EJEMPLO DE APLICACIÓN
/*Dado un grupo de números enteros se que se almacenan
el un vector, se pide calcular el mayo y el menor numero y
luego mostrarlo*/
#include<iostream>
#define N 50
using namespace std;
//Definicion de funciones
void LeerDatos(int x[],int n)
{ int i; cout<<endl<<"LECTURA DE DATOS"<<endl;
for(i=0;i<n;i++)
{ cout<<"A["<<i<<"]="; cin>>x[i];
}
}
ING. FELIX HUARI 21
EJEMPLO DE APLICACIÓN
int CalcularElementoMaxMin(int x[], int &nmax,int n)
{ int i, nmin;
nmin=x[0];nmax=x[0];
for(i=1;i<n;i++)
{ if(x[i]>nmax)
nmax=x[i];
if(x[i]<nmin)
nmin=x[i];
}
return nmin;
}

ING. FELIX HUARI 22


EJEMPLO DE APLICACIÓN
void VerNumeroMaxMin(int vmax, int vmin)
{ cout<<endl;
cout<<"Mayor numero:"<<vmax<<endl;
cout<<"Menor numero:"<<vmin<<endl;
}
void NroDatos(int &m)
{ cout<<endl;
do{ cout<<"Numero de datos a procesar:";
cin>>m;
}while(m>N);
}

ING. FELIX HUARI 23


EJEMPLO DE APLICACIÓN
// Funcion principal
int main()
{ int A[N],nu,mayor,menor;
NroDatos(nu);
LeerDatos(A,nu);
menor=CalcularElementoMaxMin(A,mayor,nu);
VerNumeroMaxMin(mayor,menor);
}

ING. FELIX HUARI 24


PROBLEMAS PROPUESTOS
Dado 2 vectores de 20 elementos cada uno que almacena números enteros,
se pide calcular la suma, resta y división de ambos vectores y el resultado
almacenar en vectores independientes,, luego escribir los 3 vectores.
Se tiene n productos y por cada producto se tiene como dato el costo
unitario, el precio de venta es el 35% mas que el costo unitario, se pide
calcular el margen de ganancia, donde el margen de ganancia es el precio
de venta menos el costo unitario, recuerde que todos los datos debe
almacenar en vectores independientes. Luego escribir los 3 vectores.

cUnitario pVenta mGanancia

ING. FELIX HUARI 25

Potrebbero piacerti anche