Arreglos Bidimensionales
ARREGLOS BIDIMENSIONALES
Arreglos bidimensionales (matrices). Para entender cómo funcionan este tipo de arreglos debemos imaginar que se trata de una caja (una cuadrícula en la cual cada división es una localidad del arreglo) y similarmente a los vectoresse deben direccionar con índices, pero en este caso se trata de dos índices, es decir una fila y una columna, por lo que al declararla se debe poner el tipo de datos que va a manejar, el nombre y la totalidad de filas y columnas cada una entre corchetes, int x[3][4]; int A[4][3]; float x[4][6]; char c[10]20];
En el ejemplo utilizado tenemos una matriz de 3 filas (de la 0 a la 2) y cuatrocolumnas(de la 0 a la 3), dando un total de 12 casillas que tendrán el nombre x y manejarán datos de tipo entero. Podemos decir que el contenido de cada una de las casillas representa una localidad de memoria y el contenido entre ellas es independiente, con lo único que debe cumplirse que todos loa valores guardados sean del mismo tipo de datos que se declaró. Las casillas se direccionan a partir de lalocalidad 0,0, como se muestra: x[0][0] x[1][0] x[0][1] x[1][1] x[0][2] x[1][2] x[0][3] x[1][3]
x[2][0]
x[2][1]
x[2][2]
x[2][3]
La manera de utilizar estas variables será siempre acompañadas del direccionamiento necesario para poder diferenciar cada localidad, esto es, no basta con el nombre del arreglo sino que se debe indicar entre corchetes la fila y columna de cada localidad utilizada. Lascasillas pueden formar parte de expresiones, asignársele valores, leer o desplegar datos en forma individual de cada casilla del arreglo, como se muestra A[2][0]=6; A[2][1]3*c + 2*a; printf(“\n %d”,A[2][2]); scanf(“%d”,&A[2][2]);
Algunas veces se requiere inicializar los arreglos, leerlos o desplegar la totalidad del arreglo, la inicialización se puede realizar de diferentes formas: intA[4][3]=0, es una de ellas Se pueden utilizar estructuras de repetición anidadas para las diferentes funciones. Para leer el contenido de todas las localidades: for(i=0;i<3;i++) for(j=0;j<4;j++) { printf(“\n Dé el valor de la localidad %d%d”,i,j); scanf(“%d”&A[i][j]; }
____________________________________________________________________________________________________ ESTRUCTURA DE DATOS ING. ELIEZERCÓRDOVA
ESTRUCTURA DE DATOS Ing. Eliezer Córdova. ____________________________________________________________________________________________________
De igual manera se usa una estructura de repetición anidada para desplegar el contenido del arreglo: for(i=0;i<3;i++) for(j=0;j<4;j++) printf(“\n %d”,A[i][j]); Los arreglos pueden manejar caracteres o cadenas de caracteres y se utilizan en C muycomúnmente. #include
edad[i][j]=0;
for(i=0;i
____________________________________________________________________________________________________ ESTRUCTURA DE DATOS ING. ELIEZER CÓRDOVA
ESTRUCTURA...
Regístrate para leer el documento completo.