ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ARREGLOS BIDIMENSIONALES


Enviado por   •  24 de Abril de 2013  •  1.474 Palabras (6 Páginas)  •  1.058 Visitas

Página 1 de 6

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECANICA Y ELECTRICA

UNIDAD ZACATENCO

FUNDAMENTOS DE PROGRAMACION

TENORIO HUERTAS JOSE JAVIER

EQUIPO 3

Díaz Moreno Marcos

Gómez García Luis Edgar

Sagrero Pérez Alan

Sánchez Cruces Gustavo

ING. ELÉCTRICA

1EV2

Objetivos

Que el alumno entienda el concepto de lo que so los arreglos bidimencionales y poder hacer problemas con algoritmos utilizando los arreglos.

ARREGLOS BIDIMENSIONALES

Un arreglos bidimensional esta compuesto, por un conjunto de elementos homogéneos y se puede acceder a los datos utilizando dos subíndices, este tipo de arreglo es también conocido como matriz.

Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas.

Para referenciar un elemento de la matriz, debe darse un nombre de la matriz y el índice de la fila y de la columna que el elemento ocupa en dicha matriz. Es importante que los índices de las matrices tanto de las filas como de las columnas empiezan en 0 y terminan en tamaño fila-1 y tamaño columna-1 respectivamente.

DECLARACIÓN

Un arreglo bidimensional se define así:

 int arreglo[10][10];

 float matriz[10][10];

también podemos utilizar constantes para definir la dimensión del arreglo de dos dimensiones:

 const int N = 10;

 int arreglo[N][N];

A las matrices se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios:

 Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.

 Si el tipo del arreglo es char, a sus elementos se les asigna el valor ‘\u0000′.

 Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.

 Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.

El lenguaje C permite el uso de matrices, es decir, arrays bidimensionales. En general, todo lo que vamos a estudiar en esta sección se puede extrapolar a arrays incluso n-dimensionales (o tensores), aunque en la práctica el uso de arrays con más de 2 dimensiones no es muy común. La declaración de una matriz o array bidimensional es:

 tipo variable_matriz[N][M];

Donde N y M son el número de filas y de columnas respectivamente (la dimensión de la matriz). Se ha escrito la dimensión con letras mayúsculas, ya que deben ser constantes, y al igual que con vectores se suelen definir con constantes, por ejemplo:

#define N 4 //número de filas de las matrices que voy a declarar

#define M 5 //número de columnas de las matrices que voy a declarar

main()

{

double matriz1[N][M], matriz2[N][M];

int matriz_entera[N][M];

...

}

Al igual que con vectores, las matrices se numeran empezando por el índice 0, con lo cual el elemento superior izquierdo es el [0][0] y el inferior derecho es el [N-1][M-1]. En la siguiente tabla se muestra cual sería la forma y los elementos de una matriz a[4][5], de tamaño 4×5. Véase que el primer elemento del array bidimensional es el a[0][0], el siguiente sería el a[0][1], y así, hasta llegar al elemento a[3][4].

Matriz bidimensional Elemento en Índice de columna

0 1 2 3 4

Índice de fila 0 a[0][0] a[0][1] a[0][2] a[0][3] a[0][4]

1 a[1][0] a[1][1] a[1][2] a[1][3] a[0][4]

2 a[2][0] a[2][1] a[2][2] a[2][3] a[0][4]

3 a[3][0] a[3][1] a[3][2] a[3][3] a[0][4]

Por otra parte, en lenguaje C las matrices se almacenan en memoria "por filas", es decir, los elementos de la fila primera (de índice 0) van consecutivos y cuando acaba el último de la primera fila empieza a almacenarse el primero de la segunda, y así sucesivamente hasta llegar a la última fila. La Figura 4.4 muestra como estaría almacenada en la memoria la matriz anterior a[4][5]. Hay que aclarar que algunos lenguajes de programación (FORTRAN) utilizan el convenio contrario, es decir, almacenan las matrices por columnas.

Distribución de una matriz bidimensional en memoria Fila 0 1 2 3

En memoria a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[3][0] a[3][1] a[3][2] a[3][3]

Aunque se puede trabajar con elementos por separado de una matriz, lo habitual es hacer operaciones matriciales con todos los elementos en conjunto. Al igual que no existen operadores vectoriales en lenguaje C, no existen tampoco operadores matriciales, de manera que tales operaciones hay que realizarlas con bucles. Como ya vimos, el anidamiento de bucles permite el recorrido completo de un array bidimensional o matriz, y tal recorrido puede hacerse por filas o por columnas. A continuación se muestra un sencillo algoritmo que nos permite recorrer por filas completamente matrices (ya que el bucle interno actúa sobre los índices de las columnas); en

...

Descargar como (para miembros actualizados)  txt (9.2 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com