Arreglos en C++

Páginas: 6 (1434 palabras) Publicado: 10 de septiembre de 2013
1

Arreglos

Si tenemos un conjunto A que representa un tipo de datos y un numero n ∈ N
se puede construir el producto cartesiano generalizado A × A × A... × A n veces.
A este producto cartesiano generalizado se le dice arreglo n-dimensional o de
tama˜o n.
n
Cuando se tiene la notacion de producto cartesiano generalizado, se puede
observar la definicion de un producto cartesianoindeterminado donde no se
define el tama˜o y se define la uni´n de todos los conjuntos que definen arreglos
n
o
de diferentes tama˜os:
n
A∗ = n∈N An y se llama arreglos de tipo A.
Para definir arreglos se utilizar´ la notaci´n de memoria din´mica. x ∈ A∗
a
o
a
en C++ se define como A* x; y para definir a que tipo particular de arreglo
pertenece, se define a x = new A[10]. Cuando se define un arreglode esta forma,
es necesario eliminar dicho arreglo, para esto se usara delete[] x.
int main ( ) {
double∗ x = new double [ 1 0 ] ; // d e f i n i c i o n de a r r e g l o
x [ 5 ] = 1 0 . 0 ; //A l a p o s i c i o n 5 d e l a r r e g l o s e l e a s i g n a 10
x [ 0 ] = 3 . 5 ; // El primer e l e m e n t o de un a r r e g l o e s t a en
// l a p o s i c i o n c e r o .
x [ 1 0 ] = 1E12 ; //Esta a s i g n a c i o n no e s p o s i b l e pues i n i c i a n d o
// en 0 e l u l t i m o e l e m e n t o d e l a r r e g l o e s t a r a en l a
// p o s i c i o n n−1, e s d e c i r 9 .
d e l e t e [ ] A; // E l i m i n a c i o n de a r r e g l o .
};
Cuando se define un arreglo en C++, es necesario tener en cuenta que la
primera posici´n de un arreglo es la posici´n 0. Para un arreglo detama˜o n se
o
o
n
tiene que la posici´n m´xima de un arreglo ser´ la posici´n n − 1.
o
a
a
o

1.1

Utilizando arreglos con funciones

Para crear y eliminar arreglos se funciones de creaci´n y de destrucci´n. Matem´ticamente
o
o
a
se definir´ una rutina de creaci´n de un arreglo como aquella rutina que dado
a
o
un n ∈ N, correspondiente al tama˜o, retornar´ un arreglo A∗.
n
acrear arreglo : N −→ A∗
(n) −→ x|x ∈ An ⊆ A∗
En C++ se traduce:
A∗ c r e a r a r r e g l o ( int n ) {
return new A[ n ] ;
};
Para crear un arreglo de tipo entero se tiene:
int ∗ c r e a r a r r e g l o ( int n ) {
return new int [ n ] ;
};

1

Para destruir o liberar un arreglo, se realizaran algunas salvedades matem´ticas
a
para facilitar la traducci´n a lenguaje C++. En estecaso para liberar el arreglo,
o
se tomar´ el tama˜o del arreglo aunque no se requiere. En este caso para sima
n
plificar las cosas se tiene una funci´n que retornar´ vac´ Lo que se realizar´
o
a
ıo.
a
es liberar el espacio en memoria para que ´ste espacio pueda ser utilizado por
e
otras variables. Matem´ticamente se tiene:
a
liberar arreglo : A∗ × N −→ ∅
(x, n) −→
En C++ se traduce:void l i b e r a r a r r e g l o (A∗ x , int n ) {
delete [ ] x ;
};
Para liberar un arreglo de tipo entero se tiene:
void l i b e r a r a r r e g l o ( int ∗ x , int n ) {
delete [ ] x ;
};

1.2

Arreglos y flujos de datos

Dado un arreglo de tipo A, es posible realizar operaciones de lectura y escritura
sobre flujos de datos, y dichas operaciones se definen como:
Para la entrada de unarreglo desde un flujo de datos se tiene:
leer arreglo A : IS × A∗ × N −→ A∗
(is, x, n) −→ x|xi = leer A(is), ∀i=1,2,3,...,n
En C++ para un arreglo de tipo entero se tiene (como se mencion´ previao
mente, los arreglos en C++ comienzan por la posici´n cero):
o
int ∗ l e e r a r r e g l o e n t e r o ( i s t r e a m& i f s , int ∗ x , int n ) {
f o r ( int i =0; i < n ; i ++){
i f s >> x [ i] ;
};
return x ;
};
Para enviar un arreglo de tipo entero hacia un flujo de datos se tiene:
escribir arreglo A : OS × A∗ × N −→ OS
(os, x, n) −→ os|escribir A(os, xi ), ∀i=1,2,3,...,n
En C++:
ostream& e s c r i b i r a r r e g l o e n t e r o ( ostream& o f s , int ∗ x , int n ) {
f o r ( int i =0; i < n ; i ++){
o f s xi+1
−→ ordenado parcial(x, i + 1)
orden arreglo : N × Rn −→ B...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Arreglos c#
  • Arreglos en c
  • Arreglos c
  • Arreglos En C++
  • arreglos c++
  • Funciones, Arreglos De c
  • Arreglos UnidimEnsionales En C
  • Arreglos En Lenguage C

OTRAS TAREAS POPULARES

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS