Estrctura de Datos

Post on 09-Aug-2015

79 views 4 download

Transcript of Estrctura de Datos

ESTRUCTURA DE DATOS

(ARREGLOS)II PARTE

Luis Cabrera

María del Cisne Mosquera

Andrés Vargas

FUNDAMENTOS DE LA PROGRAMACIÓN

Arrays De Varias Dimensiones

Existen grupos de datos que son representados mejor en forma de tabla o matriz con dos o más subíndices.

A los arrays no unidimensionales los dividiremos en dos grandes grupos:Arrays Bidimensionales (Dos dimensiones)Arrays Multidimensionales (Tres o mas

dimensiones)

Arreglos Bidimensionales (Matrices/Tablas)

Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subíndices para poder identificar cada elemento del array . El array bidimensional es un conjunto de arrays unidimensionales

Una matriz bidimensional tiene la siguiente forma:

a11 a12 ……………….. a1n

a21 a22 ……………….. a2n

am1 am2 ……………….. amn

8 6 2 3 1 2

2 1 4 5 6 9

2 5 10 32 12 23

12 25 8 6 10 14

15 18 62 3 21 1

Fila 0

Fila 1

Fila 2

Fila 3

Fila 4C

olum

na 0

Col

umna

1

Col

umna

2

Col

umna

3

Col

umna

4

Col

umna

5

M [3] [4]

Con esto se refiere al elemento de la fila 3 y columna 4 que tiene como valor 10

El diagrama anterior representa una tabla de 30 elementos (5x6) es decir con 5 filas y 6 columnas.

Los elementos de un array bidimensional se referencian con dos subíndices: El primer subíndice se refiere a la fila El segundo subíndice se refiere a la columna

En general se considera que un array dimensional comienza sus subíndices en 0 o en 1 según el lenguaje de programación pero pueden tener limites seleccionados para el usuario durante la codificación del algoritmo

Operaciones con Matrices Generar una matriz Inserción de datos: manualmente y

automáticamente Lectura y escritura de elementos Intercambiar filas y columnas. Operaciones artiméticas con matrices:

suma, resta, multiplicacion

Generar una matriz Sintaxis

<clase de datos del elemento> <nombre del arreglo> [<número de filas>], [<número de columnas>];

La única diferencia entre esta definición y la que se requiere para un arreglo unidimensional se encuentra dentro de la especificación del tamaño. Se debe especificar el tamaño de filas y columnas, como se muestra.

Ejemplo: int a [3] [3] ;

a [0] [0] a [0] [1] a [0] [2]

a [1] [0] a [1] [1] a [1] [2]

a [2] [0] a [2] [1] a [2] [2]

Inserción de datos: manualmente y automáticamente

La inserción de datos en arrays normalmente se realizan con estructuras repetitivas aunque tambien pueden hacerse con estructura selectivas.

Las instrucciones de inserción manual se presenta como:

<nombre del arreglo> [<M>] [<N>] = valor del elemento ;

Las instrucciones de inserción automática usando un ciclo for se presenta como:

for (i=0; i<3; i++)

for (j=0; j<4; j++) {

val [i] [j] = c;

c++;

cout << " " << val [i] [j];

}

Lectura y Escritura de elementos Se puede usar cin para insertar

elementos en arreglos bidimensionales y utilizar enunciados cout para extraer elementos del arreglo:

cin >> <nombre del arreglo> [<M>] [<N>] ;

cout << <nombre del arreglo> [<M>] [<N>] ;

Intercambiar Filas y columnas Intercambia las Filas por las Columnas.

Para realizar este proceso, primero se declara una matriz llamada A que al principio es llenada con normalidad, luego se muestra por pantalla y finalmente se asigna de forma invertida los elementos de la matriz A en la matriz B.

Operaciones artiméticas con matrices: suma, resta, multiplicación Las operaciones suma y resta se pueden

utilizar con arrays de tamaños idénticos, es decir, aquellos que tiene el mismo número de filas y de columnas. La suma, así como la resta, de dos arrays se lleva a cabo sumando o restando sus elementos.

Si A y B son dos matrices, la operación A*B se ejecuta solamente si el número de columnas de la matriz A es igual al número de filas de la matriz B. El resultado es una matriz que tiene el mismo número de filas que A y el mismo número de columnas que B.

Arrays Multidimensionales Un array puede ser definido de 3

dimensiones, 4 dimensiones, hasta n dimensiones.

Estos no se usan por lo común, pero C++ permite que declare cualquier numero de dimensiones. Esto se hace enlistando el tamaño máximo de todas las dimensiones para el arreglo.

Por ejemplo, la declaración int respuesta [4] [10] [6]; declara un arreglo tridimensional. El primer elemento en el arreglo es designado como respuesta [0] [0] [0] y el ultimo elemento respuesta [3] [9] [5]

Conclusiones

18

Referencias:

Bibliográficas LUIS, JOYANES AGUILAR. (2008):

“Fundamentos De Programación: Algoritmos, Estructura de Datos y Objetos.” Mc-Graw Hill. Madrid. Páginas 258-261.

BRONSON, GARY J. (2006): “Declaracion y procesamiento de arreglos bidimensionales”. Thomson. México D.F. Páginas 620-625.