Upload
albertozapata
View
212
Download
0
Embed Size (px)
Citation preview
ARREGLOS
Un arreglo, también llamado matriz (array), es un conjunto de elementos dispuestos secuencialmente, quecontienen datos del mismo tipo. El tamaño de un arreglo está dado por su número de elementos. El tamaño se debefijar cuando se declara el arreglo. El tamaño y el tipo de datos del arreglo definen el espacio de memoria queocupará dicha matriz. Estos arreglos pueden ser de uno o varias dimensiones. No existe límite, salvo la cantidadde memoria existente en el computador.
3.1. DECLARACIÓN DE UN ARREGLO O MATRIZ
Su formato es el siguiente:
tipo ident_arreglo[num_elementos]; tipo ident_arreglo[num_fila][num_col];
Ej 3.1. Declaración de arreglo unidimensional y bidimensional
void(){
int mat[10];...
}
void(){
int tabla[10][2];...
}
En este caso se ha definido un arreglo de 10 elementos enteros. Los que ocupan 20 bytes de memoria. Elacceso de los elementos se hace desde el elemento 0 al elemento 9, es decir:
mat[0] mat[1] ..... mat[9]
Acceso a los elementos de una matriz
Pueden ser accesado en forma individual o por medio de un índice, el cual debe ser entero. Para inicializarun elemento en particular:
Ej 3.2. Diferentes formas de acceso de un arreglo.
void main(){ int matriz[10]; matriz[3]=10; matriz[9]=5; ....}
void main(){ int m[10]; m[3]=m[9]=4; m[0]=0; ....}
void main(){ int m[5],i=3; m[i]=3; m[i*2-1]=65; ...}
Ej 3.3. Utilizando un ciclo for para inicializar un arreglo:
void main(){ int i, m[10]; for(i=0;i<10;i++) m[i]=0; /* pone en 0 todos los elementos del arreglo */...}
Ej 3.4. Declarando e inicializando un arreglo de 5 elementos.
void main() { int ma[5]={3,4,6,89,10}; .... }
Si se sobrepasan los límites del arreglo, el compilador NO entregará mensaje de error alguno. El acceso aarreglo bidimensional se puede realizar de acuerdo a Ej 3.3.
Ej 3.5. Declaración e inicialización de una matríz de dos dimensiones.
void main(){ int a[2][3]= {
{1,2,3},{4,5,6}
};}
En este caso es una matriz que tiene dos filas y tres columnas, donde:
a[0]: contiene la direccion de memoria de la primera filaa[1]: contiene la dirección de memoria de la segunda fila.a contiene la dirección de a[0].
Ej 3.6. El programa despliega el contenido de la matriz a[ ][ ] en pantalla.
#include<stdio.h>void main(){ int a[2][3]= {
{1,2,3}, {4,5,6} };
int i, j; for(i=0; i<2;i++)
for(j=0;j<3;j++) printf( "%d ", a[i][j]);}