programacion

Páginas: 6 (1401 palabras) Publicado: 7 de octubre de 2013
5

Arreglos
Los arreglos (arrays) permiten almacenar vectores y matrices. Los arreglos unidimensionales
sirven para manejar vectores y los arreglos bidimensionales para matrices. Sin embargo, las matrices tambi´n se pueden almacenar mediante arreglos unidimensionales y por medio de apuntadores a
e
apuntadores, temas que se ver´n en el cap´
a
ıtulo siguiente.
La palabra unidimensional noindica que se trata de vectores en espacios de dimensi´n uno; indica
o
que su manejo se hace mediante un sub´
ındice. El manejo de los arreglos bidimensionales se hace mediante
dos sub´
ındices.

5.1

Arreglos unidimensionales

El siguiente ejemplo muestra la definici´n de tres arreglos, uno de 80 elementos doble precisi´n, otro
o
o
de 30 elementos enteros y uno de 20 elementos tipocar´cter.
a
double x[80];
int factores[30];
char codSexo[20];
Los nombres deben cumplir con las normas para los identificadores. La primera l´
ınea indica que se han
reservado 80 posiciones para n´meros doble precisi´n. Estas posiciones son contiguas. Es importante
u
o
recalcar que en C, a diferencia de otros lenguajes, el primer elemento es x[0], el segundo es x[1], el
tercero es x[2], yas´ sucesivamente; el ultimo elemento es x[79].
ı
´
En x hay espacio reservado para 80 elementos, pero esto no obliga a trabajar con los 80; el programa
puede utilizar menos de 80 elementos.
C no controla si los sub´
ındices est´n fuera del rango previsto; esto es responsabilidad del programador.
a
Por ejemplo, si en alg´n momento el programa debe utilizar x[90], lo usa sin importar silos resultados
u
son catastr´ficos.
o
Cuando un par´metro de una funci´n es un arreglo, se considera impl´
a
o
ıcitamente que es un par´metro
a
por referencia. O sea, si en la funci´n se modifica alg´n elemento del arreglo, entonces se modific´ realo
u
o
mente el valor original y no una copia. Pasar un arreglo como par´metro de una funci´n y llamar esta
a
o
funci´n es muy sencillo. Sehace como en el esquema siguiente.
o
... funcion(..., double x[], ...); // prototipo
//-----------------------------------------------int main(void)
{
double v[30];
...
... funcion(..., v, ...); // llamado a la funcion
59

5. ARREGLOS

...
}
//-----------------------------------------------... funcion(..., double x[],...)// definicion de la funcion
{
// cuerpo de la funcion
...
}En el esquema anterior, el llamado a la funci´n se hizo desde la funci´n main. Esto no es ninguna
o
o
obligaci´n; el llamado se puede hacer desde cualquier funci´n donde se define un arreglo o donde a su
o
o
vez llega un arreglo como par´metro.
a
Tambi´n se puede hacer el paso de un arreglo como par´metro de la siguiente manera. Es la forma
e
a
m´s usual. Tiene involucrada la noci´n deapuntador que se ver´ en el siguiente cap´
a
o
a
ıtulo.
... funcion(..., double *x, ...); // prototipo
//-----------------------------------------------int main(void)
{
double v[30];
...
... funcion(..., v, ...); // llamado a la funcion
...
}
//-----------------------------------------------... funcion(..., double *x, ...)// definicion de la funcion
{
// cuerpo de la funcion
...
}El programa del siguiente ejemplo lee el tama˜o de un vector, lee los elementos del vector, los escribe y
n
halla el promedio. Para esto utiliza funciones. Observe la manera como un arreglo se pasa como par´metro.
a
// Arreglos unidimensionales
// Lectura y escritura de un vector y calculo del promedio
//-----------------------------------------------#include
#include
#include//-----------------------------------------------void lectX(double *x, int n, char c );
void escrX(double *x, int n );
double promX( double *x, int n);
//================================================
int main()
{
double v[40];
int n;
printf("\n Promedio de elementos de un vector.\n\n");

60

5.1. ARREGLOS UNIDIMENSIONALES

printf(" numero de elementos : ");
scanf( "%d", &n);
if( n...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS